Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya dapat dengan mudah menukar antara zon waktu Windows dan IANA di .net?

Bagaimanakah saya dapat dengan mudah menukar antara zon waktu Windows dan IANA di .net?

Susan Sarandon
Susan Sarandonasal
2025-01-29 18:36:11972semak imbas

How Can I Easily Convert Between Windows and IANA Time Zones in .NET?

<.> Tukar zon waktu Windows dan IANA

Sistem zon waktu terutamanya dibahagikan kepada dua jenis: zon waktu yang digunakan oleh sistem Microsoft Windows dan zon waktu yang ditakrifkan oleh Pangkalan Data Zon Masa IANA (TZDB). Zon waktu IANA digunakan secara meluas dalam API Internet, tetapi dalam beberapa kes, ia mungkin perlu ditukar antara Windows Time Zone ID dan ID Zon Masa IANA.

Convert by windowszones.xml

Pada mulanya, penukaran itu didasarkan pada fail WindowsZones.xml dari projek CLDR Unicode. Walau bagaimanapun, disebabkan oleh kekerapan CLDR yang rendah dan perubahan dalam zon masa, hanya terdapat cabaran untuk bergantung pada data ini.

TimeZoneConverter Micro -Library

Untuk menyelesaikan kerumitan ini, TimeZoneconverter micro -library dicipta. Perpustakaan memberi tumpuan kepada logik penukaran dan menyediakan kaedah penukaran zon masa Windows dan IANA yang dipermudahkan. Cara menggunakan contoh

Ia sangat mudah untuk menggunakan TimeZonEconverter. Berikut adalah contoh bagaimana untuk melaksanakan penukaran:

Langkah berjaga -jaga

Walaupun zon waktu IANA boleh dipetakan ke zon waktu Windows tertentu, ia tidak selalu berlaku. Satu zon waktu Windows boleh sesuai dengan pelbagai zon waktu IANA. TimeZoneConverter Mengembalikan "masa keemasan" zon waktu Windows yang ditentukan (tawaran dalam CLDR ialah "001"). Walau bagaimanapun, anda boleh menyediakan Kod Kebangsaan untuk mendapatkan zon masa yang sepadan di negara/rantau.
<code>string windowsTz = TZConvert.IanaToWindows("America/New_York");
// 结果:"Eastern Standard Time"

string ianaTz = TZConvert.WindowsToIana("Eastern Standard Time");
// 结果:"America/New_York"

string ianaTzWithCountry = TZConvert.WindowsToIana("Eastern Standard Time", "CA");
// 结果:"America/Toronto"</code>

Atas ialah kandungan terperinci Bagaimanakah saya dapat dengan mudah menukar antara zon waktu Windows dan IANA di .net?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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