我需要从Web服务返回服务器时间。我有以下代码:
<WebMethod()> _
Public Function GetDate() As DateTime
Return DateTime.Now
End Function
代码总是根据连接的客户端的时区返回时间(如果我更改时区,则webservice返回更新的时间,而不是本地服务器时间)。我该如何解决这个问题?
答案 0 :(得分:0)
对于这里的人来说并不紧急,所以用这样的方式标记这个问题是没用的。
查看Creating a DateTime in a specific Time Zone in c# fx 3.5这是第一个Google结果......
答案 1 :(得分:0)
服务器实际上以其本地设置的时区发送日期时间。客户端可能会以不同方式解释它(基于其本地设置)。在服务器上使用UTC时间更安全,或使用DateTimeOffset提供时区信息。
答案 2 :(得分:0)
试试这个:
DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc);
答案 3 :(得分:0)
你需要总是返回utc时间。这样,您始终知道它不是特定于时区的。
<WebMethod()> _
Public Function GetDate() As DateTime
Return DateTime.Now.ToUniversalTime()
End Function