ホームページ > バックエンド開発 > C++ > C#を使用して特定のタイムゾーンでDateTimeオブジェクトを作成するにはどうすればよいですか?

C#を使用して特定のタイムゾーンでDateTimeオブジェクトを作成するにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-26 04:21:11
オリジナル
419 人が閲覧しました

How Can I Create DateTime Objects in Specific Time Zones Using C#?

C# での DateTime オブジェクトとタイム ゾーンの操作

さまざまな地域の日付と時刻を扱うアプリケーションを開発する場合、正確なタイムゾーンの処理が不可欠です。 C# の標準の DateTime 構造は、ローカル、UTC、および不特定を超える特定のタイム ゾーンに対する限定的な組み込みサポートを提供します。 これに対処するには、TimeZoneInfo を活用することで、より堅牢なソリューションが提供されます。

この例は、指定されたタイム ゾーン内で DateTime オブジェクトを管理するためのカスタム DateTimeWithZone 構造体を示します。

<code class="language-csharp">public struct DateTimeWithZone
{
    private readonly DateTime utcDateTime;
    private readonly TimeZoneInfo timeZoneInfo;

    public DateTimeWithZone(DateTime dateTime, TimeZoneInfo timeZone)
    {
        var dateTimeUnspecified = DateTime.SpecifyKind(dateTime, DateTimeKind.Unspecified);
        utcDateTime = TimeZoneInfo.ConvertTimeToUtc(dateTimeUnspecified, timeZone);
        timeZoneInfo = timeZone;
    }

    public DateTime UtcTime { get { return utcDateTime; } }

    public TimeZoneInfo TimeZoneInfo { get { return timeZoneInfo; } }

    public DateTime LocalTime
    {
        get { return TimeZoneInfo.ConvertTime(utcDateTime, timeZoneInfo); }
    }
}</code>
ログイン後にコピー

この構造体は、内部的に日付と時刻を UTC DateTime として保存します。 これは、UTC 時間、関連する TimeZoneInfo、および指定されたゾーンの現地時間にアクセスするためのプロパティを提供します。 夏時間の精度と処理を向上させるために、古い TimeZoneInfo クラスの代わりに TimeZone を使用することに注意してください。

この DateTimeWithZone 構造体を使用することで、開発者はテストやデータ処理のために特定のタイム ゾーン (PST など) を表す DateTime オブジェクトを作成し、システムのローカル タイム ゾーンに関係なく一貫した結果を保証できます。 このアプローチは、正確なタイムゾーン認識を必要とするアプリケーションにとって非常に重要です。

以上がC#を使用して特定のタイムゾーンでDateTimeオブジェクトを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート