【问题标题】:datetime for a asp.net cmsasp.net cms 的日期时间
【发布时间】:2009-04-24 17:10:13
【问题描述】:

在 asp.net Web 应用程序中处理日期时间时我必须考虑哪些事项?

我也在用sql server。

如何确保不会遇到日期问题? (不想释放然后处理它嘿嘿)

【问题讨论】:

  • 我想说您需要提供更多详细信息 - 通过向他们提供想法来推动阅读您的问题的人。因此,您的问题太宽泛了,想到的东西太多了。
  • 我认为不需要更多细节。它更像是一个最佳实践问题,以避免出现问题。
  • 我同意 Cerebrus 的观点。你害怕什么样的麻烦?你想避免什么?

标签: asp.net datetime localization


【解决方案1】:

如果您还要处理时区,则需要考虑与 GMT 的偏移量 - 最好在您的标签中记录 GMT 时间,然后您可以为任何时区的任何人计算正确的时间

这真的取决于时间和日期的使用情况

【讨论】:

    【解决方案2】:

    在解析日期时始终考虑文化,在美国我们使用 MM/DD/YYYY,但在海外通常是 DD/MM/YYYY。

    DateTime 类有一个重载来接受预期的文化。使用它。

    【讨论】:

      【解决方案3】:

      如果您的用户都在同一个时区和国家,答案并不多...但是如果您有一点点印象或知道您将拥有跨越时区和不同国家的用户,那么有几个真正脱颖而出的项目。


      首先,将所有日期时间值作为GMT 时间 存储在数据库中。当它们显示给用户时,您可以从中计算出偏移量。

      第二,不同国家/地区的日期格式不同。几乎每个国家 (dd-mm-yyyy) 与美国 (mm-dd-yyyy) 都在这一点上。您需要确保允许相应地对 UI 进行本地化。

      第三,如果您在 Web 应用程序中使用或可能使用 JavaScript,请考虑搜索 Date.js 在 Google 上,因为您需要一些特殊的脚本来处理不同文化的日期设置。

      【讨论】:

        【解决方案4】:

        这是一个非常(非常)广泛的话题。但是,如果您正在处理不同的时区、不同的文化和不同的语言,您可以考虑坚持使用ISO Standard 来表示日期和时间。此外,最好将所有内容存储在同一时区,例如所有 UTC。这是一个great article,关于technet 中与日期时间相关的所有事情。 SQL Server 2008 中还有一些new date time data types 您可能会感兴趣。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-07
          • 1970-01-01
          • 2012-10-07
          • 2010-11-30
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多