如何将以下时间戳转换为整数形式,理想情况是1970年后的毫秒......
s = '2014-02-11-00_40_05'
我尝试过使用:
out = datevec(s)
但是我收到一条错误消息,说“日期字段过多” 2014-02-11-00_40_0'
由于
答案 0 :(得分:4)
使用格式说明符尝试datenum
:
>> datenum(s,'yyyy-mm-dd-hh_MM_ss')
ans =
7.3564e+05
转换为纪元:
mtime = datenum(s,'yyyy-mm-dd-hh_MM_ss');
unix_time = round(8.64e7 * (mtime - datenum('1970', 'yyyy')))
答案 1 :(得分:3)
假设您的示例中的02
是月份(否则以明显的方式更改格式字符串):
datenum('2014-02-11-00_40_05','yyyy-mm-dd-HH_MM_SS')
在Jan-1-0000之后给你几秒钟。从那以后很容易在1970年后获得毫秒:
( datenum('2014-02-11-00_40_05','yyyy-mm-dd-HH_MM_SS') - ...
datenum('1970-01-01-00_00_00','yyyy-mm-dd-HH_MM_SS') ) * 1000