【问题标题】:Can I Force A ASP.Net Website to Show Time in A Specific Time Zone?我可以强制 ASP.Net 网站在特定时区显示时间吗?
【发布时间】:2011-02-04 20:05:43
【问题描述】:

我有一个客户端请求,无论客户端设置如何,都以太平洋时区显示。我想避免每次显示都必须调用一个函数,而是有一个可以进行切换的点。

我认为自定义文化可能会解决问题,但我想在我走上一条可能走不通的路(或错过一些微不足道的事情)之前先问一下。

【问题讨论】:

    标签: c# asp.net time timezone


    【解决方案1】:

    如果您以 UTC 格式存储时间,则可以轻松转换为您想要的任何时间。 Michael Brumm 有一些相当古老的代码,可以帮助您自定义 TimeZone。当 DST 开始时,对偏移量进行硬编码会搞砸你。

    注意:我没有在 Michael 的网站上使用过此代码。

    http://www.michaelbrumm.com/simpletimezone.html

    【讨论】:

    • 我肯定会尽量避免出现硬编码的情况,所以感谢您的提醒!
    【解决方案2】:

    【讨论】:

      【解决方案3】:

      您可以使用TimeZone.GetUTCOffset()DateTime.UtcNow()

      基本上根据您感兴趣的时区获取UTC时间和偏移量。

      善良,

      【讨论】:

      • 这种方法是否需要应用于显示日期时间字段的每个字段,或者我可以在母版页上使用的内容,并将其级联到各个字段?我可能要求的太多了,但我希望为整个网站提供一个 DRY 解决方案。
      • 我想知道 Jon Skeet 的 Noda 时间库是否会在完成后处理这种情况。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-31
      相关资源
      最近更新 更多