DateTime.Min JSON序列化不正确

时间:2014-12-02 17:04:18

标签: javascript c#

我试图在客户端计算机(IE10)上找出这种奇怪的行为

当我们创建一个新的javascript对象时,来自服务器的ajax响应为\/Date(-62135596800000)\/

我按以下方式格式化JSON日期:

var date = new moment(parseInt(response.substr(6)));

在客户端计算机上,此Date对象返回以下日期格式0000-12-31

当我尝试验证服务器上的日期时,我得到的回复是错误,说明这不是有效日期。

我的验证是Fluent验证,规则是

RuleFor(x=>x.LastUpdateDate).NotEmpty();

有人能指出我正确的方向来帮助解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您的时间戳值被解释为与固定UTC参考点的偏移量。但是,当您执行类似

的操作时
alert(theDate)

您将看到Date实例的默认再现,因为它将在本地时区中显示。换句话说,香港的计算机将显示与伦敦的计算机不同的UTC日期。

您可以使用

alert(theDate.toUTCString())

查看日期的UTC版本。