Как распечатать сокращения часовых поясов при использовании смещения часов в Joda Time?

Я использую Joda Time, и мне передают DateTimeZones, созданные с использованием DateTimeZone.forOffsetHours(). Я хотел бы напечатать эти часовые пояса, используя стандартные сокращения часовых поясов, такие как «PST», «EST» и т. Д.

Однако всякий раз, когда я печатаю DateTimes, которые используют эти часовые пояса, я получаю представление часового пояса в формате «чч: мм» вместо аббревиатуры имени.

Вот пример:

public class tmp {
    public static void main( String args[] ) {
        // "PST"
        System.out.println( DateTimeFormat.forPattern("z").print( new DateTime() ) );

        // "PST"
        System.out.println( DateTimeFormat.forPattern("z").print( new DateTime( DateTimeZone.forTimeZone( TimeZone.getTimeZone("PST")) )) );

        // "-08:00"
        System.out.println( DateTimeFormat.forPattern("z").print( new DateTime( DateTimeZone.forOffsetHours(-8) )) );
    }
}

Есть ли способ распечатать соответствующую аббревиатуру часового пояса в последнем примере, используя Joda Time?

7 голосов | спросил emmby 12 42009vEurope/Moscow11bEurope/MoscowThu, 12 Nov 2009 01:22:54 +0300 2009, 01:22:54

1 ответ


0

Нет, это невозможно, но это не проблема времени, это связано с тем, как работают часовые пояса.

Смещение (например, UTC-8) не определяет местоположение, поэтому также не определяет аббревиатуру, которая зависит от местоположения. Как вы можете видеть здесь , UTC-8 существует в нескольких часовых поясах.

Первый пример работает, потому что ваш часовой пояс по умолчанию - PST. Второй работает, потому что вы запрашиваете часовой пояс по его имени (со всеми элементами летнего времени и т. Д.). В третьем вы получите часовой пояс с фиксированным смещением, с которым не связано имя.

ответил candiru 12 42009vEurope/Moscow11bEurope/MoscowThu, 12 Nov 2009 09:08:30 +0300 2009, 09:08:30

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132