Формат смещения часового пояса

Если у меня есть TimeZone, свойство string в настоящее время создает часовой пояс в формате ISO-8601.

import ceylon.time.timezone {
    OffsetTimeZone
}

shared void run() {
    value timezone = OffsetTimeZone(27000000);
    print(timezone.string); // +07:30
}

Есть ли способ получить его в других форматах, особенно без двоеточия (например, +0730)? (Я имею в виду, кроме удаления четвертого символа.) Функция ceylon.time.timezone.timeZone.parse принимает смещения в этом формате, но я не могу понять, как их вернуть.


person drhagen    schedule 07.04.2018    source источник
comment
Я был автором библиотеки ceylon.time и почти уверен, что метод .string должен возвращать правильное смещение. Если это не так, это, скорее всего, ошибка, и вы должны сообщить об этом.   -  person Roland Tepp    schedule 08.04.2018
comment
@RolandTepp В настоящее время он возвращает правильное смещение. Я просто хочу знать, есть ли способ контролировать форматирование.   -  person drhagen    schedule 08.04.2018


Ответы (1)


В модуле ceylon.locale есть более подробная поддержка форматирования. См. Форматы тип документации.

Ну, если быть до конца честным, он не дает вам подробных параметров форматирования, которые можно было бы использовать при форматировании дат в Java. В основном у вас есть выбор короткого, среднего и длинного формата даты и не более того.

person Roland Tepp    schedule 08.04.2018
comment
К сожалению, класс Formats класса ceylon.locale на самом деле не настроен так, чтобы вы могли предоставлять свои собственные форматы непосредственно longFormatTime(), поэтому, к сожалению, я не думаю, что это действительно очень полезно. - person Gavin King; 08.04.2018
comment
Хотя на данный момент это лучшее, что у нас есть. - person Roland Tepp; 08.04.2018