【问题标题】:Datetime.now issue on hosted server托管服务器上的 Datetime.now 问题
【发布时间】:2013-09-25 11:39:47
【问题描述】:

我将我的网站托管在位于美国的服务器上,而用户目前位于印度,并且该网站可能会在全球拥有用户。 问题是,DateTime.Now 总是考虑服务器的日期时间,因此它显示的日期根据客户端是错误的。 该站点是使用 MVC 4 和 .NET Framework 4.0 开发的。 这种问题的最佳解决方案可能是什么?

【问题讨论】:

  • 您可以使用 UTC 时间,但我不确定它是否适合人类 :)
  • 我还需要根据 Datetime.UtcNow 和客户的位置进行计算。所以我认为这不是一个简单/准确的选择。

标签: asp.net asp.net-mvc iis hosting


【解决方案1】:

最好的解决方案是使用DateTime.UtcNow。然后,您可以在渲染结果时根据您所在的区域或用户所在的区域添加额外的小时数。

而且它比DateTime.Now 更快,因为now 调用 UtcNow,并添加额外代码以根据计算机/服务器本地设置将其转换为本地时间。

一般而言,UtcNow 是您必须用来记录所有内容的工具,它的独立时间,这意味着所有计算机上的时间都是相同的。然后,当您渲染结果时,您可以根据用户的本地时间更改它们。

【讨论】:

    【解决方案2】:

    也许您可以使用 TimeZone.CurrentTimeZone 属性。 详情请见http://msdn.microsoft.com/en-us/library/system.timezone.currenttimezone.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-02
      • 2012-06-30
      • 2018-07-04
      • 1970-01-01
      • 2011-11-01
      • 2019-01-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多