Matlab 将时间戳转换为整数

Matlab 将时间戳转换为整数,matlab,datetime,Matlab,Datetime,如何将以下时间戳转换为整数形式,最好是1970年后的毫秒 s = '2014-02-11-00_40_05' 我试过使用: out = datevec(s) 但是,我收到一个错误,说“中的日期字段太多” 2014-02-11-00 谢谢请尝试使用格式说明符: >> datenum(s,'yyyy-mm-dd-hh_MM_ss') ans = 7.3564e+05 转换为历元: mtime = datenum(s,'yyyy-mm-dd-hh

如何将以下时间戳转换为整数形式,最好是1970年后的毫秒

       s = '2014-02-11-00_40_05'
我试过使用:

       out = datevec(s)
但是,我收到一个错误,说“中的日期字段太多” 2014-02-11-00

谢谢

请尝试使用格式说明符:

>> 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')))

假设您的示例中的
02
为月(否则以明显的方式更改格式字符串):

给你10000年1月1日后的秒数。因此,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

02是一个月还是一个月中的一天?
( 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