如何将这种数据转换为08:00:43.771作为字符串转换为一个数字,指定对应于此时间实例的午夜以来的毫秒数?
答案 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日)。