ホームページ >バックエンド開発 >C++ >C# で特定のタイムゾーンを持つ DateTime オブジェクトを作成する方法

C# で特定のタイムゾーンを持つ DateTime オブジェクトを作成する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-26 04:11:08983ブラウズ

How to Create a DateTime Object with a Specific Time Zone in C#?

C#

に特定のタイムゾーンを持つ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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。