asp.net datetime序列化在不同的服务器上返回不同的值

时间:2014-06-14 21:01:10

标签: asp.net-mvc asp.net-web-api javascriptserializer

我正在从共享数据库中检索日期时间。更准确地说,我正在检索一个时间跨度并通过Convert.ToDateTime(timespan.ToString())将其转换为日期时间。我有两个服务器在两个不同的时区运行。

一个将日期时间返回为/Date(1402761600000)/,另一个返回/Date(1402776000000)/,这是14400000或4小时的差异。

只是预感到这与时区有关(因为我在GMT -4)。

为什么我的时间以不同的方式返回?我该怎么做才能防止这种情况发生?

1 个答案:

答案 0 :(得分:1)

Convert.ToDateTime将返回本地时间,这就是为不同时区的服务器获得不同结果的原因。

尝试:

Convert.ToDateTime(ts.ToString()).ToUniversalTime();

将返回UTC时间。