如何将.NET DateTime转换为JSON

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

“/日期(1293793200000 + 1300)/”

我发现了这个,

将.NET DateTime转换为JSON

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

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

不同的是我的日期格式中有+1300,这似乎是我的时区,因为我距格林威治标准时间+13小时。

我可以以某种方式修改我的服务,将值从epoch调整为绝对毫秒数,或者可以修改javascript吗?

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

您可以将.NET中的DateTime对象转换为字符串,只是序列化字符串。 这就是我做的。 请参阅使用javascript / jquery从数据库格式化日期的正确方法