首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nodejs (新日期()).toJSON()返回错误的时间

nodejs (新日期()).toJSON()返回错误的时间
EN

Stack Overflow用户
提问于 2018-01-03 11:13:38
回答 2查看 328关注 0票数 0

我使用以下代码获取nodejs中的当前日期和时间。

代码语言:javascript
复制
var date = (new Date()).toJSON();

转换成JSON后,它会返回一个错误的时间和一个错误的时区,如下所示:

代码语言:javascript
复制
2018-01-03T11:16:38.773Z

但是如果没有toJSON(),它会在正确的时区返回实时

代码语言:javascript
复制
Wed Jan 03 2018 14:47:12 GMT+0330 (Iran Standard Time)
EN

回答 2

Stack Overflow用户

发布于 2018-01-03 11:20:38

格式不同,因为:

toJSON方法是Date JavaScript对象的内置成员。它为UTC时区返回一个ISO格式的日期字符串(用后缀Z表示)。

你能做的是:

您可以重写日期类型的toJSON方法,也可以为其他对象类型定义toJSON方法,以便在JSON序列化之前实现特定对象类型的数据转换。

来源

如果希望得到相同的结果,只需使用toString而不是toJSON:

代码语言:javascript
复制
var date = new Date().toString();
票数 0
EN

Stack Overflow用户

发布于 2018-01-03 11:23:47

代码语言:javascript
复制
2018-01-03T11:17:12.000Z === Wed Jan 03 2018 14:47:12 GMT+0330 (Iran Standard Time)

左边是ISO时区,右边是浏览器时区。

(new Date()).toJSON()转换为ISO时区

因此,将字符串转换为字符串的一个简单方法是

代码语言:javascript
复制
var date = (new Date()).toString(); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48076235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档