我有一个C#应用程序,它将在不同于我开发它的时区运行。它使用基于时间的数据,并执行计算并根据基于时间的数据做出决策。我想使用真实数据进行测试,所以想知道如何设置应用程序的时区或类似的东西,就像我在其他时区一样,并且DateTime类型的所有变量都将使用此默认时间?
答案 0 :(得分:6)
最简单的方法是只更改计算机上的时区,这会被DateTime
类选中。
作为一般建议,我会做所有时间相关的计算和以UTC格式存储时间,仅用于显示目的转换为本地时区。
答案 1 :(得分:2)
DateTime
只有三种“模式”:DateTimeKind.Utc
,DateTimeKind.Unspecified
和DateTimeKind.Local
。它不会根据时区进行计算。它不会以任何方式抵消它。有DateTimeOffset
可以帮助您(从.NET 2.0 SP2开始)
答案 2 :(得分:1)
您可以使用DateTimeOffset课程吗? (当你使用紧凑的框架时不是这样)。从其API来看,它似乎很好地满足了您的要求。
答案 3 :(得分:0)
您需要设置运行该应用程序的计算机的时区。