.NET 6 Méthodes de conversion de fuseau horaire Windows et IANA
Plateforme prend en charge le statu quo
À partir du .NET 6, toutes les plates-formes avec des données de fuseau horaire et des formats de fuseau horaire de prise en charge et de fuseau horaire IANA. Cela inclut la plupart des systèmes Windows, Linux et MacOS.
Méthode d'histoire
Avant que le fuseau horaire unifié du .NET 6 n'ait été implémenté, les principales sources de données converties entre les fuseaux horaires de Windows et IANA étaient les fichiers WindowsZones.xml distribués avec le projet CLDR Unicode. Cependant, les défis et les restrictions apportés par le rythme de libération irrégulier de CLDR et Windows nécessitent une solution plus complète.
bibliothèque de chronométraux TimezonEconverter
La bibliothèque miniature Minatuture de TimezonEconverter (obtenue sur NuGet) encapsule la complexité de la conversion du fuseau horaire. La méthode d'utilisation est très simple, comme le montre l'exemple suivant:
lieux et précautions ambiguës
<code class="language-csharp">// 将 IANA 时区转换为 Windows 时区
string windowsTimeZone = TZConvert.IanaToWindows("America/New_York");
// 将 Windows 时区转换为 IANA 时区
string ianaTimeZone = TZConvert.WindowsToIana("Eastern Standard Time");
// 使用国家代码将 Windows 时区转换为 IANA 时区
string ianaTimeZoneWithCountry = TZConvert.WindowsToIana("Eastern Standard Time", "CA");</code>
Copier après la connexion
Il convient de noter que bien que le fuseau horaire IANA soit mappé à un seul fuseau horaire Windows, ce n'est pas toujours le cas. Un fuseau horaire Windows unique peut correspondre à plusieurs fuseaux horaires IANA. TimezonEconverter renvoie généralement le code spécifié par CLDR comme "001" "Golden Times". Cependant, si un code national est fourni, il peut renvoyer différents fuseaux horaires de correspondance.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!