我的数据库中有一个日期字符串,格式如下:
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
我怎样才能避免这种情况?
简短回答:时间转换为 UTC,您的原始时间以 UTC+1 显示,因此相差一小时。
该Date.toISOString()
方法将日期转换为 ISO 8601 格式的字符串。请注意,示例中的返回日期以Z
:结尾2013-11-12T17:14:46.000Z
。根据Mozilla 文档和维基百科:
如果时间为 UTC,则在时间后直接添加 Z,不带空格。Z 是零 UTC 偏移的区域指示符