如何转换A
:
A = [ 1 2 3 4 5 ... 731]
到yyyyMMdd类型的日期值:
B = [ 20150101 20150102 20150103 20150104 20150105 ... 20161231]
答案 0 :(得分:3)
如果您使用datenum查找与20150101
相关联的数值:
baseDate = datenum('20150101','yyyymmdd');
baseDate = 735965
如果从中减去1,则可以使用它从datestr生成所有日期:
baseDate = baseDate - 1;
A = [1:5, 731];
datestr(A + baseDate,'yyyymmdd')
ans =
20150101
20150102
20150103
20150104
20150105
20161231
答案 1 :(得分:3)
您可以从A
中的值创建date numbers数组,将其转换为date strings,然后转换为convert these strings to numeric values:
B = str2num(datestr(datenum(2015, 1, A), 'yyyymmdd')).';
...对于那些不喜欢搞乱字符串转换的人来说,这里有一些datevec
和matrix multiplication:
B = (datevec(datenum(2015, 1, A))*[10000; 100; 1; 0; 0; 0]).';