MATLAB Answers

Convert serial number dates to month and year

80 views (last 30 days)
Keturah Palma
Keturah Palma on 23 Jul 2018
Edited: Paolo on 23 Jul 2018
I have a date (736473) that i want to convert to month and year. How do i go about doing that ?

  0 Comments

Sign in to comment.

Accepted Answer

Paolo
Paolo on 23 Jul 2018
Edited: Paolo on 23 Jul 2018
mydate = datetime(736473,'ConvertFrom','datenum','Format','yyyy-MM')

  5 Comments

Show 2 older comments
Walter Roberson
Walter Roberson on 23 Jul 2018
In the above code, the call to datenum() is not needed: the value such as 736473 is already a serial date number.
You can pass a vector or array of values in the var variable in the above code.
Note that the result of the above will be a series of datetime objects, not character vectors. If you wanted the text as the result, you could cellstr(mydate)
Paolo
Paolo on 23 Jul 2018
That's very true Walter, datenum is indeed redundant. I should probably get some sleep... I'll edit.

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 23 Jul 2018
dv = datevec(736473);
year = dv(:,1);
month = dv(:,2);

  1 Comment

Walter Roberson
Walter Roberson on 23 Jul 2018
If you want the result as a cell array of character vectors, then you can use
datestr(736473:736475,'yyyy-mm')
for example.
Note that for datestr(), the coding for month is lower-case m, but that for the newer datetime(), the coding for month is upper-case M.

Sign in to comment.

Sign in to answer this question.

Tags