将日期转换为节点js中的ISO字符串时,时间会发生变化

时间:2013-11-13 03:46:19

标签: node.js datetime timezone

我的数据库中有一个日期字符串,格式为:

Tue Nov 12 2013 18:14:46 GMT+0100 (CET)

我想将其转换为ISOString,我目前正在使用:

var iso = new Date(val.text_date).toISOString();

但由于某种原因,输出时间向后移动1小时? 这是我得到的输出:

2013-11-12T17:14:46.000Z

我该如何避免这种情况?

1 个答案:

答案 0 :(得分:2)

简答:时间转换为UTC,原始时间以UTC + 1显示,因此差异为一小时。


Date.toISOString()方法将日期转换为ISO 8601格式的字符串。请注意,示例中的返回日期以Z2013-11-12T17:14:46.000Z结尾。根据{{​​3}}和the Mozilla documentation

  

如果时间是UTC,请在没有时间的情况下直接添加Z.   空间。 Z是零UTC偏移的区域指示符