从 unix 时间戳到日期时间

新手上路,请多包涵

我有类似 /Date(1370001284000+0200)/ 的时间戳。我想这是一个 unix 日期,不是吗?我如何将其转换为这样的日期: 31.05.2013 13:54:44

我为 1370001284 尝试了 这个 转换器,它给出了正确的日期。所以它是在几秒钟内。

但我仍然得到错误的日期:

 var substring = unix_timestamp.replace("/Date(", "");
substring = substring.replace("000+0200)/", "");
var date = new Date();
date.setSeconds(substring);
return date;

原文由 Robin Wieruch 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 366
2 个回答

请注意,我对 t.format 的使用来自于使用 Moment.js ,它不是 JavaScript 标准 Date 原型的一部分。

Unix 时间戳是自 1970-01-01 00:00:00 UTC 以来的秒数。

+0200 的存在意味着数字字符串不是 Unix 时间戳,因为它包含时区调整信息。您需要单独处理。

如果您的时间戳字符串以毫秒为单位,那么您可以使用毫秒构造函数和 Moment.js 将日期格式化为字符串:

 var t = new Date( 1370001284000 );
var formatted = moment(t).format("dd.mm.yyyy hh:MM:ss");

如果您的时间戳字符串以秒为单位,则使用 setSeconds

 var t = new Date();
t.setSeconds( 1370001284 );
var formatted = moment(t).format("dd.mm.yyyy hh:MM:ss");

原文由 Dai 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题