我有一个525599的向量(X)。每个值代表2010年(365天)的每一分钟。 让我们澄清一下:
X date
1 1/1/2010 00:01:00
2 1/1/2010 00:02:00
3 1/1/2010 00:03:00
...
525599 31/12/2010 23:58:00
525599 31/12/2010 23:50:00
如何以类似于第二列(DDMMYYYY HH:MM)的格式转换X中的连续数字?
答案 0 :(得分:1)
如果你有MATLAB版本2014b或更高版本,那么最简单和最好的选择是使用新的datetime
数据类型:
datetime('2010-01-01') + minutes(X)
在旧版本上使用:
datestr(datenum('2010-01-01') + X/(24*60))
答案 1 :(得分:0)
另一种方法是将您的时间用作Epoch,然后将其转换为日期时间:
epoch_mil = 1262304000000 + X*1000*60; % 2010/01/01 00:00:00.000 + your Minutes
reference = datenum('1970', 'yyyy');
time = reference + epoch_mil / 8.64e7;
time_as_string = datestr(time, 'yyyy/mm/dd HH:MM:SS')
>> X = 1:4;
time_as_string =
2010/01/01 00:01:00
2010/01/01 00:02:00
2010/01/01 00:03:00
2010/01/01 00:04:00