【问题标题】:Setting default Time Zone for DateTimes为 DateTimes 设置默认时区
【发布时间】:2011-07-01 14:07:11
【问题描述】:

我有一个 C# 应用程序,它将在与我开发它的地方不同的时区运行。它使用基于时间的数据,并根据基于时间的数据进行计算和决策。我想使用真实数据进行测试,所以想知道如何设置时区或类似的应用程序,就好像我在另一个时区一样,并且 DateTime 类型的所有变量都将使用这个默认时间?

【问题讨论】:

    标签: c# datetime internationalization timezone


    【解决方案1】:

    最简单的方法是更改​​您机器上的时区,DateTime 类会使用该时区。 作为一般建议,我会以 UTC 进行所有时间相关的计算和时间存储,仅出于显示目的转换为本地时区。

    【讨论】:

      【解决方案2】:

      您需要设置运行应用程序的计算机的时区。

      【讨论】:

        【解决方案3】:

        DateTime 只有三种“模式”:DateTimeKind.UtcDateTimeKind.UnspecifiedDateTimeKind.Local。它不根据时区进行计算。它不会以任何方式抵消它。有一个 DateTimeOffset 可以帮助您(从 .NET 2.0 SP2 开始)

        【讨论】:

          【解决方案4】:

          您可以使用DateTimeOffset 课程吗? (当您使用紧凑框架时不是这样)。从它的 API 来看,它似乎很好地满足了你的需求。

          【讨论】:

            猜你喜欢
            • 2011-11-21
            • 2012-12-21
            • 2015-07-01
            • 1970-01-01
            • 2012-03-29
            • 2020-07-08
            • 2018-05-23
            • 2018-07-21
            相关资源
            最近更新 更多