【问题标题】:How to handle time difference in ASP.Net (MVC)?如何处理 ASP.Net (MVC) 中的时差?
【发布时间】:2010-01-23 19:26:57
【问题描述】:

我已将 Web 应用程序发布到美国的服务器。该应用程序实际上是为瑞典人(瑞典人)而设计的,我正在寻找处理时差的最佳方法。

相差 7 小时。

我应该将 DateTime.Now 原样存储在 DB 中,还是应该在创建每条记录之前使用 DateDiff 更改时间?

这里的最佳做法是什么?在数据库中存储什么?日期是否应该只在呈现时有所不同?

请提供最佳做法!

【问题讨论】:

    标签: asp.net asp.net-mvc datetime globalization


    【解决方案1】:

    我通常存储 DateTime.UtcNow,它是 UTC 时间。 因此,当 UTC 为 13.00、瑞典为 14.00 和美国为 7.00 时,您存储 UTC 时间 (13.00),并且您始终可以使用 New CultureInfo("sv-SE") 将日期时间格式化为瑞典当地时间,美国等

    米歇尔

    【讨论】:

    • +1。此外,您可能希望将“UTC”放在数据库字段中的某个位置,以便清楚存储的时间类型。 UTC 时间的另一个巧妙之处在于它在夏令时变化中是线性的。
    • 好的,太好了!但是在打印日期和时间时,我必须执行 Date.AddHour(1) 还是有更好的方法?
    • 仔细阅读上面的内容:“并且您始终可以使用 New CultureInfo("sv-SE") 将日期时间格式化为瑞典当地时间”
    • 是的,如果变量 dt 是 UTC 日期时间,您将获得瑞典日期时间:DateTime swedenDateTime = Convert.ToDateTime(dt, new CultureInfo("sv-SE"));
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    • 2016-03-27
    • 1970-01-01
    • 2021-02-02
    • 1970-01-01
    相关资源
    最近更新 更多