Pendekatan Legacy: TimeZoneConverter Library
(dari projek CLDR Unicode) adalah kaedah utama untuk penukaran. Walau bagaimanapun, batasan membawa kepada penciptaan pakej NUGET , yang menawarkan penyelesaian yang lebih dipercayai. windowsZones.xml
TimeZoneConverter
inilah caranya
TimeZoneConverter
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"
Penting untuk diperhatikan bahawa zon waktu Windows tunggal mungkin memetakan ke beberapa zon IANA. Lalai adalah "Zon Emas" ("001" CLDR). Untuk menentukan perlawanan yang berbeza, gunakan kod negara (seperti yang ditunjukkan dalam contoh
TimeZoneInfo windowsZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); TimeZoneInfo ianaZone = TimeZoneInfo.FindSystemTimeZoneById("America/New_York");
Atas ialah kandungan terperinci Bagaimana untuk menterjemahkan dengan cekap antara zon masa Windows dan IANA di .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!