2016-04-13 5 views
0

私はこれらの2つの日付を持っています。datenumを使用して時間を逆に進めるにはどうしたらいいですか?

startTime = '4/2/2004 12:45' 
endTime = '4/3/2004 18:15' 

過去1.5時間(startTime-endTime)の時間を探したいと思います。そして私はdatenumよりもむしろ持っている形式で。私のデータセットでは5分ステップで時間が進みます。

は、私はこれをやってますが、どこから行くことがどこかわからない:

startTime = datenum('4/2/2004 12:45'); 
endTime = datenum('4/3/2004 18:15'); 

最後に、私はいくつかのバッチ処理のためにファイル名を生成するには、このような何かを行います。

for l = 1:timeSteps 
     precipFileNames{l} = strcat(fileparts(refFile), filesep,'RATE.',datestr(startTime, 'yyyymmdd.hhMMss'), '.tif'); 
     startTime = addtodate(startTime, 5, 'minute');  
end 

答えて

0

あなたは近くでした。少なくとも2つの異なるアプローチ、datetimeまたはdatenumを使用することができます。 datenum使用 :datetimeを使用して

startTime = datenum('4/2/2004 12:45'); 
endTime = datenum('4/3/2004 18:15'); 
anotherTime = now; 
inPast = anotherTime + (startTime - endTime) * 1.5; 
datestr(inPast, 'yyyymmdd.hhMMss'); 

または、:

startTime = datetime('4/2/2004 12:45', 'Format', 'MM/dd/uuuu HH:mm') 
endTime = datetime('4/3/2004 18:15', 'Format', 'MM/dd/uuuu HH:mm') 
anotherTime = datetime; 
inPast = anotherTime + (startTime - endTime) * 1.5; 
datestr(inPast, 'yyyymmdd.hhMMss'); 
startTime = startTime + minutes(5); 
+0

ありがとうございました。最初のオプションでは、私はこのエラーが発生しています: 'char'型の入力引数のための未定義関数 'datetime'。 2番目のオプションの – maximusdooku

+0

は、datetimeとは何ですか? ::::: anotherTime = datenum(datetime) – maximusdooku

+0

@maximusdooku 'datetime'は2014bで追加されただけなので、あなたはそれを持っていない可能性があります。 Re 'datenum(datetime)'私はこれを 'now'と置き換えました。あなたの質問から、あなたが戻ってきたい時が分からないので、私は現在の時間を取った。しかし、いつでも 'datenum'で解析された時間を使うことができます – zeeMonkeez

関連する問題