设置DateTimes的默认时区

时间:2011-02-21 21:34:37

标签: c# datetime internationalization timezone

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

4 个答案:

答案 0 :(得分:6)

最简单的方法是只更改计算机上的时区,这会被DateTime类选中。 作为一般建议,我会做所有时间相关的计算和以UTC格式存储时间,仅用于显示目的转换为本地时区。

答案 1 :(得分:2)

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

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