如何在ToLocalTime()中确定本地
使用ToLocalTime()时 ,如何确定本地时间? 是服务器或客户端的本地时间吗? 我的假设是运行应用程序的服务器。
它是运行代码的计算机的本地时区。 在ASP.Net应用程序中,代码在服务器上运行 – 这是它将返回的时区。
此函数的行为实际上取决于源值的.Kind
属性。 从您提供的MSDN链接 :
- Utc – 此
DateTime
实例将转换为本地时间。 - 本地 – 不执行转换。
- 未指定 – 假定
DateTime
这个实例是UTC时间,并且执行转换就像Kind是Utc一样。
这是非显而易见的行为。 您可以在此处和此处阅读.net DateTime
类的其他相关问题。
其他几点:
- 如果您遵循最佳做法 ,则将服务器的时区设置为UTC。
- 如果您尝试在用户的时区中显示时间,则必须使用其中一种策略 。
在这种情况下, ToLocalTime()
在服务器上执行。 因此,在服务器上评估时间,并将服务器时间返回给客户端。
这是服务器上的本地时间。
本地是这个函数执行的机器的时区。