pendekatan moden .net (.net 6 dan kemudian):
.NET 6 dan versi seterusnya menawarkan sokongan terbina dalam untuk kedua-dua zon masa Windows dan IANA, dengan syarat data zon masa yang diperlukan dan ICU (komponen antarabangsa untuk Unicode) dipasang. Ini memudahkan proses penukaran dengan ketara.
Penyelesaian untuk versi yang lebih tua. NET:
Untuk versi yang lebih tua. NET tidak mempunyai sokongan asli, Perpustakaan TimeZoneConverter menyediakan penyelesaian yang mantap. Perpustakaan ini menggunakan fail dari projek CLDR Unicode untuk memetakan antara kedua -dua sistem. windowsZones.xml
Contoh praktikal:
Perpustakaan TimeZoneConverter menawarkan kaedah penukaran yang mudah digunakan:
<code class="language-csharp">string tz = TZConvert.IanaToWindows("America/New_York"); // Returns: "Eastern Standard Time" string tz = TZConvert.WindowsToIana("Eastern Standard Time"); // Returns: "America/New_York" string tz = TZConvert.WindowsToIana("Eastern Standard Time", "CA"); // Returns: "America/Toronto"</code>
Memahami pemetaan Windows-to-ana:
Sangat penting untuk diperhatikan bahawa pemetaan dari tingkap ke zon Iana tidak selalu satu sama lain. Satu zon waktu Windows boleh memetakan ke beberapa zon IANA. TimeZoneConverter, dalam kes sedemikian, mungkir ke "Zon Emas" (ditandakan "001" dalam CLDR). Walau bagaimanapun, anda boleh menentukan kod negara (seperti "CA" untuk Kanada dalam contoh di atas) untuk memperbaiki penukaran dan mendapatkan setara IANA yang lebih tepat.Atas ialah kandungan terperinci Bagaimana saya menjembatani zon waktu tingkap dan IANA di .net?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!