如何在ToLocalTime()中确定本地

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

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

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

  • Utc – 此DateTime实例将转换为本地时间。
  • 本地 – 不执行转换。
  • 未指定 – 假定DateTime这个实例是UTC时间,并且执行转换就像Kind是Utc一样。

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

其他几点:

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

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

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

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