0

将日期作为字符串:“2021-09-11T12:02:50-06:00Z”。想要使用 apache DateUtils 转换为 java.util.Date:

    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- MM-DD'T'hh:mm:ss'TZD'"

4

1 回答 1

0

请在格式和日期字符串中进行此更正。

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"));
于 2021-11-24T07:56:53.843 回答