2017-05-09 90 views
1

我有2次存儲在MATLAB中的字符數組。如何在字符數組中找到兩次之間的差異?

a = '11:00 PM' 
b = '07:30 AM' 

我想找到在2倍,這應該是在此實例中8.5小時小時之間的差。有沒有簡短的方法來做到這一點?我可以datenum兩個數字,減去它們,datevec的差異,從矢量中提取小時和分鐘,並將它們轉換爲小時,但這需要很多行。有沒有更有效的方法來做到這一點,或者是否有現有的功能?

回答

1

您可通過以下方法使用datetime每根弦,採取差異,那麼結果將與hours做到這一點:

numHours = hours(diff(datetime({a; b}, 'InputFormat', 'hh:mm a'))); 
numHours = numHours + 24.*(numHours < 0) 

numHours = 

    8.5000 

第二行佔了你的榜樣的條件,其中第二次有發生對第二天的時差要積極,所以24小時內加(負)差。

0

添加日期的時間 像

a = '1/1/2000 11:00 PM' 
b = '1/1/2000 07:30 AM' 

轉換字符串爲DateTime

x=str2num(strrep(a,':','')) 
y=str2num(strrep(b,':','')) 

再細2個日期

e = etime(x,y) 

之間的區別這會給你兩次之間的秒數

相關問題