在JavaScript中将日期转换为JSON的问题
一旦Date对象被创建为,
var oDate = new Date(2014,01,21,23,00,00);
它返回2014年2月21日星期五23:00:00 GMT + 0530(印度标准时间)。 但是,当我尝试将其转换为JSON。
oDate.toJSON() // "2014-02-21T17:30:00.000Z"
为什么小时和分钟变化? 小时数应为23,分钟数应为00。
为什么小时和分钟变化?
因为它不再以控制台中显示的印度标准时间表示,但UTC( Z ulu Time,如ISO 8601字符串中所示)。
小时数应为23,分钟数应为00。
不可以。如果你想用UTC创建一个23:00的时间,那么你应该使用
var oDate = new Date(Date.UTC(2014,01,21,23,00,00));
这实际上是按照预期工作并序列化为UTC,因为当您加载JSON对象时,您将再次获得正确的Date。 使用toJSON()时,时间以UTC存储。
指定者:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toJSON
测试代码:
var oDate = (new Date()).toJSON();
var pDate = new Date(oDate);
console.log("Serialized date object: " + oDate);
console.log("Actual date object: " + pDate);
只是为了记录,请记住,“2014-02-21T17:30:00.000Z”中的最后一个“Z”表示时间确实是UTC
了解更多信息 :-
http://en.wikipedia.org/wiki/ISO_8601
以供参考 :-
如何格式化Microsoft JSON日期?
链接地址: http://www.djcxy.com/p/77507.html