Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mencipta DateTimes dengan Zon Masa Tertentu dalam C#?

Bagaimanakah Saya Boleh Mencipta DateTimes dengan Zon Masa Tertentu dalam C#?

Susan Sarandon
Lepaskan: 2025-01-26 04:31:08
asal
288 orang telah melayarinya

How Can I Create DateTimes with Specific Time Zones in C#?

Bekerja dengan DateTimes dan Zon Masa dalam C#

Banyak tugas pengaturcaraan, terutamanya dalam ujian, menuntut penciptaan DateTime objek yang terikat pada zon waktu tertentu. Walaupun pembina DateTime mengendalikan masa setempat, UTC dan masa yang tidak ditentukan, menggunakan TimeZoneInfo menawarkan kawalan yang lebih tepat.

Memanfaatkan TimeZoneInfo

Daripada bergantung semata-mata pada DateTime harta TimeZone pembina, TimeZoneInfo menyediakan pengurusan zon waktu dan keupayaan penukaran yang unggul.

Struktur Masa Tarikh Tersuai

Contoh ini menggunakan struktur tersuai, DateTimeWithZone, untuk merangkum DateTime dan zon waktu yang berkaitan:

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

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

    public DateTime UniversalTime => utcDateTime;
    public TimeZoneInfo TimeZone => timeZone;
    public DateTime LocalTime => TimeZoneInfo.ConvertTime(utcDateTime, timeZone);
}</code>
Salin selepas log masuk

Aplikasi Praktikal

Untuk mencipta objek DateTimeWithZone dalam zon Waktu Standard Pasifik (PST):

<code class="language-csharp">var pstDateTime = new DateTimeWithZone(new DateTime(2023, 1, 1), TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time"));</code>
Salin selepas log masuk

Pendekatan ini membolehkan kerja lancar dengan DateTime objek dalam zon waktu tertentu, memudahkan penukaran antara UTC dan waktu tempatan mengikut keperluan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta DateTimes dengan Zon Masa Tertentu dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan