Как мне получить список строк в 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.