Json stringify更改日期

时间:2015-03-26 10:52:12

标签: javascript jquery json

你好我在js中有一个带有字段日期的对象。我尝试在ajax请求中对其进行字符串化,但结果不一致。字符串化后,新对象提前一天。

更具体地说,这是我文件中的代码:

console.log(reservation.checkin);
console.log( JSON.stringify(reservation.checkin));

这就是结果:

Thu Jan 01 2015 00:00:00 GMT+0200 (EET)
"2014-12-31T22:00:00.000Z"

我做错了吗?它的输出应该是什么? Thx提前!

修改:从下面的答案看来,它似乎处于不同的时区。将此日期字符串化的正确方法是什么?

3 个答案:

答案 0 :(得分:1)

它没有更改日期,只是在另一个时区(UTC / GMT)显示

GMT + 0200(EET)表示与UTC / GMT不同2小时

这样就可以了解你在结果中所看到的内容。

这取决于目的。如果你想在另一个API中发布它,它应该可以正常工作(假设,api使用时区标准),以防你想在gui中显示...为什么要使用json stringify ...

我不打算为你做所有数学,我建议你现在知道为什么,所以只是google:' javascript格式时区'或类似的东西。

e.g: Convert date to another timezone in JavaScript

答案 1 :(得分:0)

嗯,这是时区 - 你的约会时间是GMT +2:00, 并且在应用Stringify之后,您将获得UTC。 您可能想要检查Date方法.getTimezoneOffset()并可能更新日期

答案 2 :(得分:0)

JSON.stringify正在调用Date.toJSON()来转换日期。

请参阅The "right" JSON date format