Je voudrais avoir une liste de tous les fuseaux horaires disponibles sur une machine Windows. Comment puis-je faire cela dans .NET?Comment puis-je énumérer tous les fuseaux horaires dans .NET?
Je sais au sujet de la méthode TimeZoneInfo.GetSystemTimeZones, mais cela ne retourne que le fuseau horaire sélectionné (s)
DateTimeOffset current = DateTimeOffset.Now;
ReadOnlyCollection<TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones();
Console.WriteLine("You might be in the following time zones:");
foreach (TimeZoneInfo timeZoneInfo in timeZones)
{
// Compare offset with offset for that date in that time zone
if (timeZoneInfo.GetUtcOffset(current).Equals(current.Offset))
{
Console.WriteLine(" {0}", timeZoneInfo.DisplayName);
}
}
Souffrant de coupe-n -paste-itis? :) Vous êtes déjà en train d'itérer tout au long de l'énumération mais en filtrant les décalages qui ne sont pas les mêmes que l'actuel avec l'instruction if. – Spoike
J'ai oublié le si dans le code :( – gyurisc