如何将 .NET 日期时间转换为 JSON

Posted

技术标签:

【中文标题】如何将 .NET 日期时间转换为 JSON【英文标题】:How to Convert .NET DateTime to JSON 【发布时间】:2012-02-09 05:39:17 【问题描述】:

我的 WCF 网络服务将 C# DateTime 对象作为 JSON 返回,

"/日期(1293793200000+1300)/"

我已经找到了,

Converting .NET DateTime to JSON

这建议使用javascript转换它的这种方法,

var d = new Date();
d.setTime(1245398693390);
document.write(d);

不同之处在于我的日期格式中包含 +1300,这似乎是我的时区,因为我距离格林威治标准时间 +13 小时。

我可以以某种方式修改我的服务以将值调整为从纪元开始的绝对毫秒数,还是可以修改 javascript?

【问题讨论】:

【参考方案1】:

您可以忽略时区偏移 - 毫秒数始终与 UTC 相关(请参阅http://msdn.microsoft.com/en-us/library/bb412170.aspx 的“日期时间线格式”部分)。偏移量主要表明原始DateTime 值是DateTimeKind.Local,但自纪元以来的序列化毫秒数始终与GMT 相关。

【讨论】:

【参考方案2】:

您可以将 .NET 中的 DateTime 对象转换为字符串,然后将字符串序列化。这就是我所做的。见Proper way to format date from database using javascript/jquery

【讨论】:

以上是关于如何将 .NET 日期时间转换为 JSON的主要内容,如果未能解决你的问题,请参考以下文章

将 JSON 日期字符串转换为 Python 日期时间

如何配置 web api 的 json 序列化器将日期时间转换为 ISO 8601 格式?

将 JSON 时间戳字符串转换为 pandas 数据框中的 python 日期

如何在 .Net / C# 中将日期转换为 HTTP 格式的日期

将json结果转换为日期[重复]

将日期时间转换为 JSON 日期时间