Je souhaite utiliser la méthode TimeZoneInfo.FindSystemTimeZoneById(String)
, mais je ne sais pas quelles valeurs utiliser comme entrée?
Où puis-je obtenir une liste de valeurs pour id
requises pour FindSystemTimeZoneById
?
Voici la liste dans Windows 8 (j'ai extrait du registre Windows)
Heure standard de l'Afghanistan Heure normale de l'Alaska Heure normale de l'Alaska\Heure avancée dynamique Heure normale arabe Heure normale de l'Arabie Heure normale arabe Heure normale de l'Arabie\Heure d'été dynamique . Heure normale d'Argentine .__ Heure normale d'Argentine\Heure d'été dynamique Heure normale de l'Atlantique Heure normale d'Atlantique\Heure d'été dynamique Heure normale de l'AUS Heure normale de l'Est de l'AUS Heure normale de l'Est de l'AUS\Heure d'été dynamique Heure normale d'Azerbaïdjan Heure normale d'Açores Heure normale d'Azores\Heure d'été dynamique Heure normale de Bahia Heure normale de Bahia\Heure d'été dynamique Heure normale du Bangladesh Heure normale du Bangladesh\Heure d'été dynamique Heure normale du Canada Heure normale du Cap-Vert Heure normale du Caucase Heure normale du Caucase\Heure d'été dynamique Cen. Heure normale de l'Australie Cen. Heure normale d'Australie\Heure d'été dynamique Heure normale d'Amérique centrale Heure normale d'Asie centrale Heure normale du Brésil central Heure normale du Brésil central\Heure d'été dynamique Heure normale d'Europe centrale Heure normale d'Europe centrale Heure Heure normale du Pacifique central Heure normale du Centre Heure normale du Centre\Heure avancée dynamique Heure normale du Centre (Mexique) Heure normale de la Chine Heure normale de la Dateline E. Heure normale d'Afrique E. Heure normale de l'Australie E. Heure normale d'Europe E. Heure normale d'Amérique du Sud E. Heure normale de l'Amérique du Sud\Heure d'été dynamique Heure normale de l'Est Heure normale d'Ouest\Heure d'été dynamique Heure normale d'Egypte Heure normale d'Egypte\Heure d'été dynamique Heure normale d'Ekaterinburg Heure normale d'Ekaterinburg\Heure d'été dynamique Heure normale des Fidji Heure normale des Fidji\Heure d'été dynamique Heure normale FLE Heure normale de Géorgie Heure normale GMT Heure normale du Groenland Heure normale du Groenland\Heure avancée. Heure normale de Greenwich Heure normale du GTB Heure normale d’Hawaï Heure normale de l’Inde Heure normale d’Iran Heure normale d’Iran\Heure avancée dynamique Heure normale d’Israël Heure normale d’Israël Heure\Heure d'été dynamique Heure normale de Jordanie Heure normale de Jordanie\Heure d'été dynamique Heure normale de Kaliningrad Heure normale de Kaliningrad\Heure d'été dynamique Heure normale du Kamchatka Heure normale de Corée Libye Heure normale Heure normale de Libye\Heure d'été dynamique Heure normale de Magadan Heure normale de Magadan\Heure d'été dynamique Heure normale de l'île Maurice Heure normale de Maurice\Heure d'été dynamique Heure normale du Centre-Atlantique Heure normale du Moyen-Orient Heure normale du Moyen-Orient\Heure avancée dynamique Heure normale de Montevideo Heure normale de Montevideo\Heure avancée dynamique Heure normale du Maroc Maroc Heure normale\Heure avancée des montagnes. Heure normale des montagnes Heure normale des montagnes\Heure avancée des montagnes Heure normale des montagnes (Mexique) Heure normale du Myanmar N. Heure normale d’Asie centrale N. Heure normale d'Asie centrale\Heure avancée de la Namibie. Heure normale de la Namibie\Heure normale de la Namibie\Heure d'été dynamique Heure normale du Népal Heure normale de la Nouvelle-Zélande Heure normale de la Nouvelle-Zélande\Heure d'été dynamique Terre-Neuve Standard Heure Heure normale de Terre-Neuve\Heure d'été dynamique Heure normale d'Asie du Nord-Est Heure normale d'Asie du Nord-Est\Heure d'été dynamique Heure normale d'Asie du Nord Heure normale d'Asie du Nord\Heure d'été dynamique Pacifique SA Heure normale Pacifique SA Heure normale\Heure avancée du Pacifique Heure normale du Pacifique Heure normale du Pacifique\Heure avancée du Pacifique Heure normale du Pacifique (Mexique) Heure du Pakistan standard Heure Heure normale du Pakistan\Heure d'été dynamique Heure normale du Paraguay Heure normale du Paraguay\Heure d'été dynamique Heure normale Romance Heure normale de la Russie Heure normale russe\Heure d'été dynamique SA Heure normale de l’Est Heure normale du Pacifique Heure normale de l’Ouest Heure normale du Samoa Heure normale du Samoa\Heure d'été dynamique SE Heure normale de l'Asie Heure normale de Singapour Sout h Heure normale de l'Afrique Heure normale du Sri Lanka Heure normale de la Syrie Heure normale de la Syrie\Heure d'été dynamique Heure normale de Taipei Heure normale de la Tasmanie Heure normale de la Tasmanie\Heure d'été dynamique Heure normale de Tokyo Heure normale des Tonga Heure normale de Turquie Heure normale de Turquie\Heure avancée dynamique Heure normale d'Oulan-Bator Heure standard de l'Est US Heure normale de l'Est\Heure avancée Heure normale des montagnes des États-Unis UTC UTC + 12 UTC-02 UTC-11 Heure normale du Venezuela Heure normale du Venezuela\Heure d'été dynamique Heure normale de Vladivostok Heure normale de Vladivostok\Heure d'été dynamique W. Heure normale de l'Australie W. Heure normale de l’Australie\Heure d'été dynamique W. Heure normale d'Afrique centrale W. Heure normale d'Europe Heure normale d'Asie occidentale Heure normale du Pacifique occidental Heure normale de Yakutsk Heure normale de Yakutsk\Heure avancée
Vous pouvez les récupérer dans une liste statique de la classe TimeZoneInfo
var infos = TimeZoneInfo.GetSystemTimeZones();
foreach (var info in infos)
{
Console.WriteLine(info.Id);
}
Exemple:
var tzInfo = TimeZoneInfo.FindSystemTimeZoneById("New Zealand Standard Time");
Ou si vous voulez juste une liste des identifiants de fuseau horaire suggérés par DJ KRAZE
var timeZoneIds = TimeZoneInfo.GetSystemTimeZones().Select(t => t.Id);
Les fuseaux horaires disponibles sont:
Console.WriteLine(string.Join("\n",TimeZoneInfo.GetSystemTimeZones().Select(x=>x.Id)));
Résultat:
Dateline Standard Time
UTC-11
Aleutian Standard Time
Hawaiian Standard Time
Marquesas Standard Time
Alaskan Standard Time
UTC-09
Pacific Standard Time (Mexico)
UTC-08
Pacific Standard Time
US Mountain Standard Time
Mountain Standard Time (Mexico)
Mountain Standard Time
Central America Standard Time
Central Standard Time
Easter Island Standard Time
Central Standard Time (Mexico)
Canada Central Standard Time
SA Pacific Standard Time
Eastern Standard Time (Mexico)
Eastern Standard Time
Haiti Standard Time
Cuba Standard Time
US Eastern Standard Time
Paraguay Standard Time
Atlantic Standard Time
Venezuela Standard Time
Central Brazilian Standard Time
SA Western Standard Time
Pacific SA Standard Time
Turks And Caicos Standard Time
Newfoundland Standard Time
Tocantins Standard Time
E. South America Standard Time
SA Eastern Standard Time
Argentina Standard Time
Greenland Standard Time
Montevideo Standard Time
Saint Pierre Standard Time
Bahia Standard Time
UTC-02
Mid-Atlantic Standard Time
Azores Standard Time
Cape Verde Standard Time
UTC
Morocco Standard Time
GMT Standard Time
Greenwich Standard Time
W. Europe Standard Time
Central Europe Standard Time
Romance Standard Time
Central European Standard Time
W. Central Africa Standard Time
Namibia Standard Time
Jordan Standard Time
GTB Standard Time
Middle East Standard Time
Egypt Standard Time
E. Europe Standard Time
Syria Standard Time
West Bank Standard Time
South Africa Standard Time
FLE Standard Time
Israel Standard Time
Kaliningrad Standard Time
Libya Standard Time
Arabic Standard Time
Turkey Standard Time
Arab Standard Time
Belarus Standard Time
Russian Standard Time
E. Africa Standard Time
Iran Standard Time
Arabian Standard Time
Astrakhan Standard Time
Azerbaijan Standard Time
Russia Time Zone 3
Mauritius Standard Time
Georgian Standard Time
Caucasus Standard Time
Afghanistan Standard Time
West Asia Standard Time
Ekaterinburg Standard Time
Pakistan Standard Time
India Standard Time
Sri Lanka Standard Time
Nepal Standard Time
Central Asia Standard Time
Bangladesh Standard Time
Omsk Standard Time
Myanmar Standard Time
SE Asia Standard Time
Altai Standard Time
W. Mongolia Standard Time
North Asia Standard Time
N. Central Asia Standard Time
Tomsk Standard Time
China Standard Time
North Asia East Standard Time
Singapore Standard Time
W. Australia Standard Time
Taipei Standard Time
Ulaanbaatar Standard Time
North Korea Standard Time
Aus Central W. Standard Time
Transbaikal Standard Time
Tokyo Standard Time
Korea Standard Time
Yakutsk Standard Time
Cen. Australia Standard Time
AUS Central Standard Time
E. Australia Standard Time
AUS Eastern Standard Time
West Pacific Standard Time
Tasmania Standard Time
Vladivostok Standard Time
Lord Howe Standard Time
Bougainville Standard Time
Russia Time Zone 10
Magadan Standard Time
Norfolk Standard Time
Sakhalin Standard Time
Central Pacific Standard Time
Russia Time Zone 11
New Zealand Standard Time
UTC+12
Fiji Standard Time
Kamchatka Standard Time
Chatham Islands Standard Time
Tonga Standard Time
Samoa Standard Time
Line Islands Standard Time
Examinez la méthode statique sur TimeZoneInfo
appelée TimeZoneInfo.GetSystemTimeZones()
method.
Cela renverra une liste de tous les TimeZoneInfo
s de votre système d'exploitation à partir du registre. Ils sont tous stockés sous: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
.
Un exemple est "Heure GMT" pour le fuseau horaire "Dublin, Edimbourg, Lisbonne, Londres".
Une liste complète est disponible sur le site Web MSDN:
Ou vous pouvez passer le TimeZoneInfo.Local.Id
comme ceci:
TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById(TimeZoneInfo.Local.Id);
DateTime localDateTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, tzi);
Comme d'autres l'ont déjà dit, vous pouvez trouver la liste en effectuant une itération TimeZoneInfo.GetSystemTimeZones()
pour trouver la chaîne que vous souhaitez utiliser. Cela dit, si vous ne disposez que d'informations sur le décalage horaire (comme GMT + 9 ou GMT-10) et que vous ne trouvez pas votre fuseau horaire après avoir itéré les fuseaux horaires, vous voudrez peut-être voir l'URL suivante pour voir de quel fuseau horaire vous avez besoin. https://msdn.Microsoft.com/en-US/library/ms912391(v=winembedded.11).aspx
Vous pouvez utiliser ce code ci-dessous
using System;
namespace TimeZoneIds
{
class Program
{
static void Main(string[] args)
{
foreach (TimeZoneInfo z in TimeZoneInfo.GetSystemTimeZones())
Console.WriteLine(z.Id);
}
}
}
La documentation la plus récente de Microsoft, avec une liste de ceux-ci, est disponible à l’adresse https://support.Microsoft.com/en-gb/help/973627/Microsoft-time-zone-index-values
Les chaînes d'ID de fuseau horaire sont actuellement les suivantes (si vous voulez voir le décalage horaire réel, consultez l'index hexadécimal pour chaque ID de fuseau horaire, puis cliquez sur le lien ci-dessus):
Heure normale du Samoa
Heure normale de l'Alaska
Heure normale des montagnes
Heure normale des montagnes des États-Unis
Heure centrale du Canada
Heure normale d'Amérique centrale
Heure normale de l'Est des États-Unis
Heure normale de l'Atlantique
Pacific S.A. Heure normale
E. Heure normale d'Amérique du Sud
Heure normale du Groenland
Heure normale des Açores
Heure GMT
Heure normale d'Europe centrale
Romance Heure normale
W. Heure normale d'Afrique centrale
Heure normale d'Egypte
Heure normale GTB
Heure normale d'Afrique du Sud
Heure normale arabe
Heure normale arabe
Heure normale d'Arabie
État islamique transitoire en Afghanistan, heure normale
Heure normale d'Asie occidentale
Heure normale du Népal
Heure normale du Sri Lanka
Heure normale du Myanmar
Heure normale d'Asie du Nord
Heure normale de Singapour
Heure normale de l'Australie
Heure normale de la Corée
Heure normale de Yakoutsk
Cen. Heure normale de l'Australie
E. Heure normale d'Australie
Heure normale de Vladivostok
Heure normale du Pacifique central
Heure normale de la Nouvelle-Zélande
Heure normale d'Azerbaïdjan
Heure normale de Jordanie
Heure normale des Rocheuses (Mexique)
Heure normale de la Namibie
Heure normale du Brésil
Heure normale arménienne
Heure normale d'Argentine
Heure normale du Pakistan
UTC
Heure normale du Kamchatka