Как мне получить список строк в tzdb, используемых в качестве инициализатора часового пояса?

Итак, я новичок в NodaTime и пытаюсь использовать его для хранения информации о часовом поясе, используя объект DateTimeZone.

Я столкнулся с примером ниже в руководстве пользователя и т. Д., Который дает мне хороший объект DateTimeZone из tzdb, и это здорово.

var london = DateTimeZoneProviders.Tzdb["Europe/London"];

Мой вопрос - как мне получить список строк часовых поясов ("Европа / Лондон"), которые используются в tzdb. Я оглянулся вокруг, нигде не нашел. Где-то есть стандартный список, на который я могу сослаться? Как это работает? ех. - какую строку я должен передать для EST?

Спасибо!

1 ответ

Решение

Для получения идентификаторов часовых поясов программно используйте Ids недвижимость в IDateTimeZoneProvider, Например, чтобы найти все зоны:

var provider = DateTimeZoneProviders.Tzdb;
foreach (var id in provider.Ids)
{
    var zone = provider[id];
    // Use the zone 
}

Для Восточного времени вы, вероятно, хотите Америка /New_York.

В более общем смысле эти идентификаторы взяты из IANA и используются в большинстве систем, отличных от Windows.

Другие вопросы по тегам