我正在使用JSON.Stringfy()将我的日期转换为String格式。但是返回的日期是我系统的UTC时间。 这是代码。
var dateFrom;
dateFrom=new Date(); // outputs--> Wed Sep 24 2014 16:03:22 GMT+0530 (India Standard Time)
dateFrom=JSON.stringify(x); //outputs--> "2014-09-24T10:33:22.135Z"
//Expected result--> "2014-09-24T16:03:22.135Z"
我认为有些东西会将我当前的日期转换为UTC日期。有没有办法得到预期的结果..任何评论都是有价值的.. 提前谢谢
答案 0 :(得分:0)
JSON遵循通用格式,同时将日期对象转换为字符串。日期被编码为ISO 8601字符串,然后在序列化时被视为字符串。
但这并不意味着你的日期对象被修改了。它只是以JSON强制执行的不同格式表示。所以日期仍然指向您通过IST引用的相同时间戳。
所以你声明它改变了日期是错误的,它只是改变了表示格式。
var d = new Date();
//shows local format
alert(d);
djson=JSON.stringify({"date":d});
//shows UTC format
alert(djson);
dobj=JSON.parse(djson);
//again UTC format
alert(dobj.date);
d = new Date(dobj.date);
//again local format
alert(d);