Я хотел бы иметь список всех часовых поясов, доступных на Windows Machine. Как это сделать в .NET?
Я знаю о методе TimeZoneInfo.GetSystemTimeZones, но это возвращает только текущий выбранный часовой пояс (ы)
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);
}
}