如何将UNIX时间戳转换为系统时间和日期?在我的EST时间。
答案 0 :(得分:2)
自1970年1月1日午夜以来,Unix时间戳通常以毫秒为单位,但有时也会以秒的形式出现。将它们转换为Matlab datenum可以通过datenum([1970 1 1 0 0 timestamp/1000])
完成(参见related Mathworks tech-note)。如果时间戳不是以毫秒为单位而是以秒为单位,则不要除以1000.获得datenum后,可以使用datestr
函数将任意格式的字符串转换为字符串。
或者,您可以使用Java的java.util.Date(timestamp)
将时间戳转换为Java日期对象,然后使用Date方法转换为Java字符串,然后使用Matlab的char
函数将其转换为一个Java字符串。
答案 1 :(得分:1)
答案 2 :(得分:0)
我遇到了同样的问题并帮助自己完成了像
这样的功能function dv=datevec_from_timestamp(ts)
% Converts a UNIX timestamp (UTC based) to a (local!) datevec which can
% then be used as usual with datestr, datenum etc.
cal=java.util.Calendar.getInstance;
cal.setTimeInMillis(ts * 1000)
dv = [cal.get(cal.YEAR) cal.get(cal.MONTH)+1 cal.get(cal.DAY_OF_MONTH) ...
cal.get(cal.HOUR) cal.get(cal.MINUTE) cal.get(cal.SECOND)];