如何在ToLocalTime()中确定本地

dro*_*son 24 c# asp.net datetime

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

Mat*_*int 31

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

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

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

这是非显而易见的行为.您可以在此处此处阅读.net DateTime类的其他相关问题.

其他几点:

  • 如果您遵循最佳做法,则将服务器的时区设置为UTC.
  • 如果您尝试在用户的时区中显示时间,则必须使用其中一种策略.


Ken*_*enD 9

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