[英]new Date().getTimezoneOffset() returns the wrong time zone
[英]nodejs (new Date()).toJSON() returns a wrong time
我正在使用以下代码来获取nodejs中的当前日期和时间。
var date = (new Date()).toJSON();
转换为JSON后,返回错误的时间和错误的时区,如下所示:
2018-01-03T11:16:38.773Z
但没有toJSON(),它将以正确的时区返回实时时间
Wed Jan 03 2018 14:47:12 GMT+0330 (Iran Standard Time)
格式不同是因为:
toJSON方法是Date JavaScript对象的内置成员。 它为UTC时区返回一个ISO格式的日期字符串(用后缀Z表示)。
你可以做什么:
您可以覆盖Date类型的toJSON方法,或者为其他对象类型定义toJSON方法,以在JSON序列化之前实现特定对象类型的数据转换。
如果您想要相同的结果,则可以只使用toString而不是toJSON:
var date = new Date().toString();
2018-01-03T11:17:12.000Z === Wed Jan 03 2018 14:47:12 GMT+0330 (Iran Standard Time)
左边的一个是ISO时区,右边的一个基本上是浏览器时区。
(new Date()).toJSON()
转换为ISO时区
因此,转换为字符串的简单方法是
var date = (new Date()).toString();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.