2012-03-05 151 views
2

如何將這種類型的數據08:00:43.771作爲字符串轉換爲數字,指定與此時間實例相對應的午夜以來的毫秒數?MATLAB - 使用時間戳

回答

4

我通常使用Matlab datenum輸出在Matlab中進行時間戳。 Datenums是自0/0/0000以來的天數,用double表示(雙精度數字精確到當前日期的約14個usec)。

使用datenums。

currentDateTime1 = datenum('08:00:43.771');   %Assumes today 
currentDateTime2 = datenum('6/8/1975 08:00:43.771'); %Using an explicit date 

millisecondsSinceMidnight = mod(currentDateTime1 ,1) *24*60*60*1000; %Mod 1 removes any day component 
millisecondsSinceMidnight = mod(currentDateTime2 ,1) *24*60*60*1000; %Then this is just a unit conversion 

對於特殊字符串格式,使用的datenum擴展形式,其可以接受字符串格式說明。

0

使用1000*etime(datevec('08:00:43.771'),datevec('0:00'))給出自午夜以來的毫秒數。 etime給出了兩個日期向量之間的秒數,datevec將字符串轉換爲日期向量(如果只給出時間,假設今年1月1日)。