Ich möchte eine Liste aller verfügbaren Zeitzonen auf einer Windows-Maschine haben. Wie kann ich das in .NET machen?Wie zähle ich alle Zeitzonen in .NET auf?
Ich weiß um die TimeZoneInfo.GetSystemTimeZones Methode, aber dies gibt nur die aktuell gewählte Zeitzone (n)
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);
}
}
Leiden von cut-n -Paste-Itis? :) Sie durchlaufen bereits die gesamte Enumeration, filtern aber die Offsets weg, die nicht mit der aktuellen If-Anweisung identisch sind. – Spoike
Ich habe das if im Code übersehen :( – gyurisc