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
Lepaskan: 2025-01-29 18:36:11
asal
970 orang telah melayarinya

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>
Salin selepas log masuk

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!

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