28

使用ToLocalTime()时,本地时间如何确定?本地时间来自服务器还是客户端?我的假设是运行应用程序的服务器。

4

4 回答 4

35

它是运行代码的计算机的本地时区。在 ASP.Net 应用程序中,代码在服务器上运行- 这就是它将返回的时区。

此函数的行为实际上取决于.Kind源值的属性。从您提供的 MSDN 链接

  • Utc - 此实例DateTime转换为本地时间。
  • 本地- 不执行转换。
  • 未指定- 此实例DateTime假定为 UTC 时间,并且执行转换,就好像 Kind 是 Utc。

这是不明显的行为。您可以在此处此处DateTime阅读 .net类的其他相关问题。

其他几点:

  • 如果您遵循最佳实践,您会将服务器的时区设置为 UTC。
  • 如果您尝试在用户的时区中显示时间,则必须使用这些策略之一
于 2013-05-10T20:54:56.273 回答
9

ToLocalTime(),在这种情况下,在服务器上执行。因此,时间在服务器上进行评估,并将服务器时间返回给客户端。

于 2013-05-10T20:41:13.243 回答
4

这是服务器上的当地时间。

于 2013-05-10T20:39:59.160 回答
2

这里的本地是执行函数的机器的时区。

于 2013-05-10T20:40:26.353 回答