1

我的向量 (X) 为 525599。每个值代表 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 中的连续数字?

4

2 回答 2

1

如果您有 MATLAB 2014b 或更高版本,那么最简单和最好的选择是使用新的datetime数据类型:

datetime('2010-01-01') + minutes(X)

在旧版本上使用:

datestr(datenum('2010-01-01') + X/(24*60))
于 2016-06-30T09:56:28.177 回答
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
于 2016-06-30T10:02:58.007 回答