"If a worker wants to do his job well, he must first sharpen his tools." - Confucius, "The Analects of Confucius. Lu Linggong"
Front page > Programming > Why Does Parsing a Date String in Java Throw "Illegal pattern character 'T'"?

Why Does Parsing a Date String in Java Throw "Illegal pattern character 'T'"?

Published on 2024-12-23
Browse:106

Why Does Parsing a Date String in Java Throw

Illegal Pattern Character 'T' When Parsing Date String to java.util.Date

Parsing a date string to a java.util.Date object requires a pattern that adheres to specific rules. One common pattern is "yyyy-MM-ddThh:mm:ssZ," which represents dates in ISO 8601 format.

Problem:
When using the specified pattern, an exception is thrown with the message "java.lang.IllegalArgumentException: Illegal pattern character 'T'."

Reason:
The 'T' in the pattern represents a separator between the date and time components. However, in Java's SimpleDateFormat, the 'T' character needs to be escaped with single quotes on either side to be recognized correctly.

Solution 1: Escape 'T' in Pattern
To resolve the issue using the original pattern, escape the 'T' character as follows:

String pattern = "yyyy-MM-dd'T'hh:mm:ssZ";

Solution 2: Use ISO_8601_24H_FULL_FORMAT
Alternatively, you can use the pre-defined ISO_8601_24H_FULL_FORMAT constant provided by the Q2597083 class:

String pattern = Q2597083.ISO_8601_24H_FULL_FORMAT;

For Java 8 and Higher:
For Java 8 and above, it is recommended to use the DateTimeFormatter class instead of SimpleDateFormat and Instant instead of Date. Here's an example:

import java.time.Instant;
import java.time.format.DateTimeFormatter;

String dateString = "2010-10-02T12:23:23Z";
DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME;
Instant d = Instant.parse(dateString);
System.out.println(d.getYear());

By using these solutions, you can successfully parse date strings in ISO 8601 format without encountering the "Illegal pattern character 'T'" exception.

Latest tutorial More>

Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.

Copyright© 2022 湘ICP备2022001581号-3