0

我对.net 的 DateTime 组件感到困惑。服务器以 UTC +4 运行,我的客户端位于不同的时区。所以服务器上的时间是UTC+4模式。我已经尝试将其转换为 UniversalTime 并在将其发送到客户端之前将其发送到 ToBinary 中,但在客户端机器上代码看起来像

if ((Program.license.EndDate.ToUniversalTime() 
    - DateTime.Now.ToUniversalTime()).TotalMinutes <= 5)
{ 
    //dosomething 
}

仍然工作错误。

感谢您的帮助。

4

1 回答 1

1

您必须知道从客户端发送的 DateTime 的 DateType(本地、通用或未指定)。如果您尝试将 Unspecified 类型转换为通用类型,据我了解,它将作为本地时间处理。(如果我错了,请有人纠正我。)

服务器/客户端日期和时间的最佳实践是始终使用 UTC。在 .Net 中使用DateTime.UtcNow而不是DateTime.Now.ToUniversalTime().

于 2012-09-13T17:47:50.930 回答