Comment dois-je énumérer tous les fuseaux horaires .NET?

Je voudrais avoir une liste de tous les fuseaux horaires disponibles sur une Machine Windows. Comment puis-je faire dans .NET?

Que je sais sur les TimeZoneInfo.GetSystemTimeZones méthode, mais il ne renvoie qu'sélectionné de la zone(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);
   }
}
  • La souffrance de la cut-n-coller-itis? 🙂 Vous avez déjà une itération à travers l'ensemble de l'énumération, mais le filtrage de loin les compensations qui n'est pas le même que l'actuel avec le if.
  • J'ai négligé le cas dans le code 🙁
InformationsquelleAutor gyurisc | 2009-01-14