2016-06-30 27 views
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 

我如何转换的连续编号在X的格式类似于第二列(DDMMYYYY HH:MM)?

+0

http:// se.mathworks.com/help/matlab/ref/datenum.html你的意思是这样吗? – KiW

回答

1

如果你有MATLAB版本2014B或更高版本,那么最简单的和最好的办法是让新datetime数据类型的使用:

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

在旧版本中使用:

datestr(datenum('2010-01-01') + X/(24*60)) 
0

替代方式是把你的时间作为时代,然后将其转换为日期时间:

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 
相关问题