Нет это не делает, это возвращает каждый часовой пояс, о котором знает машина Windows (в моей установке, этому 91 год). if
оператор, который Вы имеете, существует то, что ограничивает Ваш вывод. Выньте это, но уезжайте Console.WriteLine
часть, и Вы будете видеть все 91 (или так) часовые пояса.
, например,
ReadOnlyCollection<TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones();
foreach (TimeZoneInfo timeZoneInfo in timeZones)
Console.WriteLine("{0}", timeZoneInfo.DisplayName);
, Который должен выписать 91 часовой пояс к Вашей консоли.
Ваш код хорошо работает для меня. Вот вывод на моем поле:
Вы могли бы быть в следующих часовых поясах: Касабланка (GMT) (GMT)
Среднее время по Гринвичу: Дублин,
Эдинбург, Лиссабон, Лондон (GMT)
Монровия, Рейкьявик
Это - все те с тем же смещением в данный момент, которое является тем, что Ваш код ясно отображает - если Вы хотите весь часовые пояса, просто удаляете, "если" часть, как Robert говорит.
, Если Вы думаете, что необходимо видеть больше зон, Вы могли бы сказать нам, какой часовой пояс Вы находитесь в том, таким образом, мы можем разработать то, что должны быть отображены другие?
Этот метод используется для привязки всех часовых поясов в Dev Express Drop Down. Надеюсь, это кому-нибудь поможет.
private void FillTimeZone(ASPxComboBox ddlTimeZone)
{
ddlTimeZone.DataSource = TimeZoneInfo.GetSystemTimeZones();
ddlTimeZone.DataBind();
ListEditItem oListEditItem=new ListEditItem();
oListEditItem.Text=Helper.SELECT;
oListEditItem.Value=Helper.SELECT;
ddlTimeZone.Items.Add(oListEditItem);
ddlTimeZone.SelectedIndex = 0;
}