MATLAB - 使用时间戳

时间:2012-03-05 19:16:00

标签: matlab timestamp

如何将这种数据转换为08:00:43.771作为字符串转换为一个数字,指定对应于此时间实例的午夜以来的毫秒数?

2 个答案:

答案 0 :(得分:4)

我通常在Matlab中使用Matlab datenum输出进行时间戳。 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的扩展形式,它可以接受字符串格式说明符。

答案 1 :(得分:0)

使用1000*etime(datevec('08:00:43.771'),datevec('0:00'))给出自午夜以来的毫秒数。 etime给出两个日期向量之间的秒数,datevec将字符串转换为日期向量(如果只给出一个时间,则假定今年1月1日)。