javascript - 不同时区的javascript日期问题

标签 javascript c# json datetime json.net

我有一个带有 DateTime 属性 (get;set;) 的对象,该对象位于 C# 中的集合 (List) 内。此属性保存 DateTime.MinValue 的值 (01/01/0001 12:00:00 AM)。

我正在使用 Newtsonsoft.Json.Net 库将我的对象集合序列化为 JSON,如下所示

JsonConvert.SerializeObject(collectionValues,
    new JsonConverter[] { new JavaScriptDateTimeConverter() })

我的日期时间属性的转换输出是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 site 上运行了此测试更改我的计算机的时区。

当我的属性服务器端为 DateTime.MinValue 时,无论什么时区,如何始终返回 “Mon Jan 01 1 00:00:00” 的值?

最佳答案

检查DateTimeZoneHandling环境。我建议您始终以 UTC 序列化日期以避免此类冲突:

JsonConvert.SerializeObject(collectionValues, new JsonSerializerSettings
{
    DateTimeZoneHandling = DateTimeZoneHandling.Utc
});

关于javascript - 不同时区的javascript日期问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43477345/

相关文章:

javascript - Highcharts 上的导出按钮以打开新选项卡

javascript - 如何使用 AngularJs 设置绑定(bind)到模型的选择中选项元素的标题属性?

javascript - 无需 DOM 即可访问全局 JS 上下文的属性

c# - 如何区分真实的 http 上下文或请求与假的?

使用 Remote 的 JQuery 验证将空数据发布到 Web 服务

mysql - 如何通过键从 JSON 字符串中提取值

javascript - 如何在 React Table 中使一些列左对齐和一些列居中对齐 - React

c# - 构建时抑制未处理的错误C#

c# - 不能以声明方式设置“DataSource”属性

javascript - 使用 Javascript 通过 XHR 访问 CouchDB