Me gustaría tener una lista de todas las zonas horarias disponibles en una máquina con Windows. ¿Cómo puedo hacer esto en .NET?¿Cómo enumero todas las zonas horarias en .NET?
lo que sé sobre el método TimeZoneInfo.GetSystemTimeZones, pero esto sólo se devuelve la zona horaria seleccionada (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);
}
}
El sufrimiento de corte-n -paste-itis? :) Ya estás iterando a través de toda la enumeración pero filtrando las compensaciones que no son las mismas que las actuales con el enunciado if. – Spoike
Pasé por alto el si en el código :( – gyurisc