设置日期时间的默认时区

问题描述 投票:5回答:4

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

c# datetime internationalization timezone
4个回答
6
投票

最简单的方法是只更改计算机上的时区,该时区由DateTime类获取。作为一般建议,我将所有与时间相关的计算和时间存储在UTC中,仅出于显示目的,将转换为本地时区。


2
投票

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


1
投票

DateTimeOffset类可供您使用吗? (不是在使用紧凑型框架时)。从其API来看,它似乎可以很好地满足您的要求。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.