我有一些带有 Unix 时间戳的数据文件(在本例中,是自 1970 年 1 月 1 日 00:00 UTC 以来的毫秒数)。我想在 Matlab 中将它们转换为人类友好的日期/时间字符串(例如 2012 年 8 月 31 日 11:36:24)。在 Matlab 中是否有一种简单的方法可以做到这一点,或者我最好使用外部库(例如 java.text.SimpleDateFormat)?
怎么样
date = datestr(unix_time/86400 + datenum(1970,1,1))
if unix_time
以秒为单位给出,unix_time/86400
将给出自 1970 年 1 月 1 日以来的天数。添加 Matlab 使用的偏移量datenum
(datenum(0000,1,1) == 1
),并且您有自 0000 年 1 月 1 日以来的天数。这可以通过 Matlab 轻松转换为人类可读的形式datestr
.
如果你有毫秒,只需使用
date = datestr(unix_time/86400/1000 + datenum(1970,1,1))
包裹在函数中,这些将是
function dn = unixtime_to_datenum( unix_time )
dn = unix_time/86400 + 719529; %# == datenum(1970,1,1)
end
function dn = unixtime_in_ms_to_datenum( unix_time_ms )
dn = unix_time_ms/86400000 + 719529; %# == datenum(1970,1,1)
end
datestr( unixtime_to_datenum( unix_time ) )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)