Как получить список часовых поясов в NodaTime - PullRequest
0 голосов
/ 28 апреля 2020

Как получить список «часовых поясов» из NodaTime, чтобы я мог сделать пользовательский интерфейс, подобный приведенному ниже, для выбора для моих пользователей?

Я хочу показать смещение UT C и затем соответствующие города / страны / места. Это не обязательно должно быть точно так же, как показано ниже, но вы знаете, что-то близкое.

DateTimeZone не имеет свойства name, а ToString() ing создает дубликаты (из списка Ids из IDateTimeZoneProvider).

Я вижу, вы можете go из ~ стран в зоны, с TzdbDateTimeZoneSource.Default.ZoneLocations, но это также не совсем то, что я ищу. Я вижу, как я могу объединить эти два источника данных вместе, но это похоже на решенную проблему, которую я не должен изобретать заново.

Example list

1 Ответ

1 голос
/ 29 апреля 2020

Noda Time в настоящее время не предоставляет ориентированные на пользователя строки для часовых поясов, нет.

Лучший источник данных для этого - CLDR . У нас есть давняя проблема для этого, но, к сожалению, она принципиально сложна. В какой-то момент я хотел бы вернуться к этому, но я еще не нашел время: (

Вы можете использовать проект Onism.Cldr для доступа к данным CLDR. Вы ' Вам нужно будет понять, как данные CLDR работают в двух отношениях:

  • Структуры данных часовых поясов, такие как метазоны
  • Структуры текстовых данных, которые позволяют вам получить определенный строковый ресурс на выбранном пользователем языке

Извиняюсь за то, что ответ на данный момент на самом деле просто "Нет, ничего нет" - но это реальность: (

...