Базовой реализацией пакета времени балерины является 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 с надлежащим представлением идентификаторов зон и т. Д.
Для получения более подробной информации см. Пример даты и времени балерины .