繁体   English   中英

不同时区的Javascript日期问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM