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