2016-06-30 4 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 

私は2番目の列(DDMMYYYY HH:MM)と同様の形式でXで連続した番号を変換するにはどうすればよいですか?

+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 
関連する問題