当我使用Json序列化日期时。我得到格式化为:
的日期'2015-07-07T17:27:00.057'
当我从ajax接收到这个对象时,它是一个字符串,而不是一个日期。如何将'2015-07-07T17:27:00.057'转换为javascript日期?我试过了
new Date('2015-07-07T17:27:00.057') but that gives the incorrect date
编辑:
找到问题。如果我序列化DateTime.Now
,我会得到错误的日期。但是如果我序列化DateTime.UtcNow
,我在反序列化时得到正确的日期。我需要保存我的日期在协调世界时(UTC)。
Json。Net支持多种格式化日期的方式,如果你只从ajax调用中使用它,你可能需要查看JavaScriptDateTimeConverter。
http://www.newtonsoft.com/json/help/html/DatesInJSON.htm问题是您需要在字符串中编码时区信息。尝试使用DateTimeOffset。现在是便携式时间格式。
也可以查看:
- 你能告诉JSON。Net序列化DateTime作为Utc即使未指定?
- http://www.newtonsoft.com/json/help/html/T_Newtonsoft_Json_DateTimeZoneHandling.htm
try
new Date(JSON.parse(datestr));