に特定のタイムゾーンを持つDateTimeオブジェクトを作成します シナリオをテストしたり、異なるタイムゾーンでアプリケーションを適用したりすると、特定のタイムゾーンでDateTimeオブジェクトを作成することは非常に一般的な要件です。 C#のDateTimeコンストラクターは、指定されたタイムゾーンの限定オプションを提供します。
特定のタイムゾーンを持つDateTimeオブジェクトを作成するには、DateTime.specifyKind()メソッドを使用して、DateTimeオブジェクト(ローカル、UTC、または不特定)を指定し、TimeZoneInfo.ConvertTime()またはTimeZoneInfoを使用できます()変換時間それは必要なタイムゾーンです。
ただし、TimeZoneInfoクラスを使用することをお勧めします。以下の例を操作する方法:
DateTimewithTimeZone構造は、UTC DateTimeとTimeZoneInfoをカプセル化し、UTCの時間と現地時間の間に簡単に変更できるようにします。パフォーマンス上の理由で、多数のDateTimeオブジェクトを扱う場合、クラスの代わりに構造を使用することが最善です。
<code class="language-csharp">using System; public class DateTimeWithTimeZone { private readonly DateTime utcDateTime; private readonly TimeZoneInfo timeZone; public DateTimeWithTimeZone(DateTime dateTime, TimeZoneInfo timeZone) { utcDateTime = dateTime.ToUniversalTime(); this.timeZone = timeZone; } public DateTime UniversalTime => utcDateTime; public TimeZoneInfo TimeZone => timeZone; public DateTime LocalTime => TimeZoneInfo.ConvertTimeFromUtc(utcDateTime, timeZone); }</code>この方法は、特定のタイムゾーンでDateTimeオブジェクトを使用する場合、より大きな柔軟性とコードの明確さを提供します。
以上がC# で特定のタイムゾーンを持つ DateTime オブジェクトを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。