Apache DateUtils не может выполнить синтаксический анализ 2018-03-11 02:00:00 Летнее время

public static void main(String[] args){
        Date date = null;
        try {
            date = DateUtils.parseDateStrictly("2018-03-11 01:59:00", "yyyy-MM-dd HH:mm:ss");
            System.out.println(date.getTime());
            date = DateUtils.parseDateStrictly("2018-03-11 02:00:00", "yyyy-MM-dd HH:mm:ss");
            System.out.println(date.getTime());
        }catch(Exception e) {
            e.printStackTrace();
        }
    }

Первая временная метка успешно анализируется, однако вторая временная метка не может быть проанализирована. Есть ли ошибка в org.apache.commons.lang3.time.DateUtils? Я использую commons-lang3-3.4.jar

1520751540000
java.text.ParseException: невозможно проанализировать дату: 2018-03-11 02:00:00 по адресу org.apache.commons.lang3.time.DateUtils.parseDateWithLenidity(DateUtils.java:401) по адресу org.apache.commons.lang3.time.DateUtils.parseDateStrictly(DateUtils.java:343) в org.apache.commons.lang3.time.DateUtils.parseDateStrictly(DateUtils.java:321) в com.ecw.vocabulary.mapper.impl.Test.testMetoo(Test.java:59) в com.ecw.vocabulary.mapper.impl.Test.main(Test.java:40)

1 ответ

Решение

Потому что его не существует!

Воскресенье, 11 марта 2018 года, 2:00:00 утра. Часы были переведены на 1 час вперед в воскресенье, 11 марта 2018 года, 3:00:00 утра по местному летнему времени.

Другие вопросы по тегам