如何将 UNIX 时间戳转换为系统时间和日期?就我而言,美国东部时间。
问问题
3639 次
3 回答
2
自 1970 年 1 月 1 日午夜起,Unix 时间戳通常以毫秒为单位,但有时自同一时刻起以秒为单位。可以通过datenum([1970 1 1 0 0 timestamp/1000])
(参见相关的 Mathworks 技术说明)将它们转换为 Matlab 日期数字。如果时间戳不是以毫秒为单位,而是以秒为单位,请不要除以 1000。一旦获得 datenum,您可以使用该datestr
函数将其转换为您喜欢的任何格式的字符串。
或者,您可以使用 Javajava.util.Date(timestamp)
将时间戳转换为 Java 日期对象,然后使用 Date 方法将其转换为 Java 字符串,然后使用 Matlab 的char
函数将其转换为 Java 字符串。
于 2013-02-24T20:14:57.847 回答
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)];
于 2014-11-27T15:31:35.190 回答