Новые правила перехода на летнее время в Бразилии на Java

Правила перехода на летнее время в Бразилии были изменены, но эти новые правила отсутствуют в последней версии Java.

В этом тестовом коде с использованием последней версии, предоставленной RedHat (java-1.8.0-openjdk-1.8.0.212-3), результаты не являются ожидаемыми:

    try {
        final SimpleDateFormat parser = new SimpleDateFormat( "dd/MM/yyyy" );
        final Date date = parser.parse( "05/12/2019" ); // 5th of december

        System.out.println( "Is in Daylight Saving Time in this time zone? "
            + TimeZone.getTimeZone( "America/Sao_Paulo" ).inDaylightTime( date ) );
    } catch ( ParseException exception ) {
        exception.printStackTrace();
    }

вывод:

Is in Daylight Saving Time in this time zone? true // should be false!

Я отправил электронное письмо Iana (Internet Assigned Numbers Authority) - www.iana.org и жду ответа.

Кто-нибудь знает что-нибудь об этом?

Спасибо

Правка: Чтобы уточнить вопрос: я хочу знать, как работают обновления в базе данных TimeZone (когда это будет сделано и кем).

Поскольку Iana ответила на мое электронное письмо и объяснила мне, что изменения летнего времени в Бразилии были внесены на Brazil has canceled DST - GitHub and it will be on the next release of the database, my question was answered.


person Jose Renato    schedule 10.06.2019    source источник
comment
Возможно, вы хотите access.redhat.com/articles/1187353 — ознакомьтесь с объявлением в разделе tzdata- 2018г.   -  person Dawood ibn Kareem    schedule 11.06.2019
comment
Не могли бы вы предоставить более подробную информацию о переходе на летнее время в Бразилии? Википедия сообщает: «В 2019 году в Бразилии был отменен переход на летнее время, но есть вероятность, повторно введен в 2020 году». Можете ли вы объяснить нам, небразильцам, насколько постоянным может быть удаление DST? Достаточно ли неопределенно, что сопровождающие Java и tzdata могут колебаться при обновлении своих правил перехода на летнее время?   -  person VGR    schedule 11.06.2019
comment
@VGR Нынешний президент отменил переход на летнее время на неопределенный срок. См. официальное заявление здесь: planalto.gov.br/ ccivil_03/_ato2019-2022/2019/decreto/D9772.htm   -  person Jose Renato    schedule 12.06.2019
comment
@JoseRenato просто ответь на свой вопрос и закрой. В таких случаях это не осуждается.   -  person Frankie    schedule 13.06.2019


Ответы (1)


Это изменение было введено в данные tz в апреле (тема здесь, зафиксируйте здесь). Он появится в 2019b, когда будет выпущен.

Точного объявления о том, когда это произойдет, еще не было, но вы можете подписаться на список рассылки tz-announce, чтобы получать уведомления, когда это произойдет.

Конечно, вам нужно дождаться соответствующего обновления Java или использовать инструменты ziupdater или tzupdater.

person Matt Johnson-Pint    schedule 13.06.2019