Convert year into Matlab date format
12 次查看(过去 30 天)
显示 更早的评论
How can I convert the year into the matlab date format if I have a big data set? I have a table:
Year Data
1999
2000
2001 ...
3 个评论
dpb
2018-5-5
编辑:dpb
2018-5-5
Yes, datenum(*) datevector input syntax requires the minimum 3-vector [y,m,d] so can't pass just a numeric year. As you've discovered, the easy workaround is to simply augment with the 1,1 for the month,day.
The same idea as Ameer shows below also works for datenum just for the record; I recommend using datetime for new work; it has many advantages over the venerable datenum.
>> yr=[1999:2002].';
>> yr=datenum(num2str(yr),'yyyy');
>> datestr(yr)
yr =
4×11 char array
'01-Jan-1999'
'01-Jan-2000'
'01-Jan-2001'
'01-Jan-2002'
>>
You note datenum has introduced the 1,1 mo,da value anyway so may as well use the simpler form and go on.
(*) BTW, datetime is the same; it won't supply implicit default values for missing arguments (another enhancement, maybe(???) altho how much trouble is it to add a ',1,1' to the argument list, anyway? :) )
采纳的回答
Ameer Hamza
2018-5-5
If you have a numeric vector containing year numbers, you can convert a vector into a datetime array object as follow
myVector = 2000:2010
datetime(string(myVector), 'Format', 'yyyy')
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Dates and Time 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!