Невозможно проанализировать дату YYYY-MM-DDThh:mm:ssTZD из строки, используя DateUtils.parseDate

Дата в виде строки: "2021-09-11T12:02:50-06:00Z". Хотите преобразовать в java.util.Date с помощью apache DateUtils:

          public static Date toDate (String dateString) throws ParseException {
        String DATETIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss'TZD''Z'";
        return DateUtils.parseDate(dateString, new String[]{DATETIME_FORMAT});
    }

давая ниже исключение:

      java.text.ParseException: Unable to parse the date: 2021-09-11T12:02:50-06:00Z
    at org.apache.commons.lang3.time.DateUtils.parseDateWithLeniency(DateUtils.java:388)
    at org.apache.commons.lang3.time.DateUtils.parseDate(DateUtils.java:302)
    at org.apache.commons.lang3.time.DateUtils.parseDate(DateUtils.java:279)

пробовал DATETIME_FORMAT как "yyyy-MM-dd'T'HH:mm:ss'TZD''Z'", "yyyy-MM-dd'T'HH:mm:ss'TZD''Z'", "YYYY- ММ-ДД'Т'чч:мм:сс'TZD'"

1 ответ

Пожалуйста, внесите это исправление в формат, а также в строку даты.

      public static Date toDate (String dateString) throws ParseException {
        String DATETIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ssZ";
        return DateUtils.parseDate(dateString, new String[]{DATETIME_FORMAT});
    }

И в формате ввода не используйте двоеточие. Пример

       System.out.println(toDate  ("2021-09-11T12:02:50-0600"));
Другие вопросы по тегам