2016-04-13 14 views
0

Bu iki randevum var.Datenum kullanarak zaman içinde geriye nasıl gidebilirim?

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

Geçmişte tam olarak 1,5 * (startTime-endTime) olan saati bulmak istiyorum. Ve formatta datenum var. Zaman, veri kümemde 5 dakikalık adımlarla ilerliyor.

bunu yaparken, ama nereden nereye emin değilim:

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

Son olarak, bazı toplu işlem için dosya oluşturmak için böyle bir şey yapmak.

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

cevap

0

En az iki farklı yaklaşım olan datetime veya datenum'u kullanabilirsiniz. datenum kullanma : datetime kullanarak

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'); 

Veya:

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

teşekkür ederiz. İlk seçenekte, bu hatayı alıyorum: 'char' türünde giriş argümanları için tanımlanmamış fonksiyon 'datetime'. İkinci seçenekte – maximusdooku

+0

, datetime nedir? ::::: anotherTime = datenum (datetime) – maximusdooku

+0

@maximusdooku 'datetime' yalnızca 2014b'de eklenmiştir, bu yüzden sizde olmayabilir. Re 'datenum (datetime)' Ben şimdi '' eşdeğeri ile değiştirdim. Sorunuzdan, geri dönmek istediğiniz saatten belli değildi, o yüzden şimdiki zamanımı aldım. Ama 'datenum' – zeeMonkeez

İlgili konular