Как найти предопределенные идентификаторы часовых поясов пакета времени балерины? - PullRequest
0 голосов
/ 05 июля 2018

В пакетах времени балерины createTime функция запрашивает zoneID в качестве параметра функции. Когда я предоставляю настраиваемый zoneID, программа продолжает работать без вывода. Есть ли способ найти эти предопределенные идентификаторы часовых поясов с соответствующими часовыми поясами?

1 Ответ

0 голосов
/ 06 июля 2018

Базовой реализацией пакета времени балерины является Java, и правила обработки идентификатора зоны аналогичны правилам Java. В основном правила таковы.

  • Если идентификатор зоны равен «Z», результатом является UTC. Если идентификатор зоны равен «GMT», «UTC» или «UT», это эквивалентно UTC.
  • Если идентификатор зоны начинается с «+» или «-», идентификатор анализируется как смещение. Смещение можно указать одним из следующих способов.

    + ч, + чч, + Чч: мм, -hh: мм, + Ччмм, -hhmm, + Чч: мм: сс, -hh: мм: сс, + ччммсс, -хммм

  • Также идентификатор зоны может быть региональным идентификатором зоны. Формат: «{area} / {city}», например: «Америка / Панама». Зоны основаны на данных, предоставленных базой данных часовых поясов IANA (TZDB).

Пример:

Использование UTC

time:Timezone zoneValue = {zoneId:"Z"};
time:Time time = new(1456876583555, zoneValue);

Использование смещения

time:Timezone zoneValue = {zoneId:"-05:00"};
time:Time time = new(1456876583555, zoneValue);

Использование ID зоны на основе региона

time:Timezone zoneValue = {zoneId:"America/Panama"};
time:Time time = new(1456876583555, zoneValue);

Мы надеемся улучшить этот API в будущей версии Ballerina с надлежащим представлением идентификаторов зон и т. Д.

Для получения более подробной информации см. Пример даты и времени балерины .

...