[英]Problems with javascript date with different time zones
我有一个带有DateTime属性(get; set;)的对象,该对象位于C#的集合(列表)内。 此属性保存DateTime.MinValue的值(01/01/0001 12:00:00 AM)。
我正在使用Newtsonsoft.Json.Net库将我的对象集合序列化为JSON,就像这样
JsonConvert.SerializeObject(collectionValues,
new JsonConverter[] { new JavaScriptDateTimeConverter() })
我datetime属性的转换输出是new Date(-62135578800000)
,它在UTC-5中给我一个日期“ Mon Jan 01 1 00:00:00 GMT-0500” ,但是在其他时区进行了一些测试,我的序列化是仍然是new Date(-62135578800000)
但是javascript中的输出却大不相同“ Sun Dec 31 0 22:00:00 GMT-0700”
我在w3schools网站上运行了该测试,更改了计算机的时区。
无论我的属性服务器端为DateTime.MinValue的哪个时区,如何始终返回“ Mon Jan 01 1 00:00:00”的值?
检查DateTimeZoneHandling设置。 我建议您始终使用UTC序列化日期,以避免发生此类冲突:
JsonConvert.SerializeObject(collectionValues, new JsonSerializerSettings
{
DateTimeZoneHandling = DateTimeZoneHandling.Utc
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.