.NET webservice datetime.now - 时区

时间:2010-03-10 15:36:39

标签: .net datetime web-services timezone

我需要从Web服务返回服务器时间。我有以下代码:

<WebMethod()> _
Public Function GetDate() As DateTime
        Return DateTime.Now

End Function

代码总是根据连接的客户端的时区返回时间(如果我更改时区,则webservice返回更新的时间,而不是本地服务器时间)。我该如何解决这个问题?

4 个答案:

答案 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