Home > Java > javaTutorial > Why Does Parsing a Date String with 'T' in Java Throw an 'Illegal Pattern Character 'T'' Exception?

Why Does Parsing a Date String with 'T' in Java Throw an 'Illegal Pattern Character 'T'' Exception?

Mary-Kate Olsen
Release: 2024-12-08 14:54:12
Original
576 people have browsed it

Why Does Parsing a Date String with

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

When attempting to parse a date string to a standard date using the Java Date API, you may encounter an exception with the following message: "Illegal pattern character 'T'". This error arises because the pattern specified for parsing includes the character "T", which is not recognized as a valid pattern character.

Cause:

The "T" character in the date string represents the time separator between the date and time components. However, the default SimpleDateFormat pattern does not include this character. As a result, the parser interprets it as an illegal pattern character.

Solution:

To resolve this issue, there are two main approaches:

1. Custom Pattern:

You can specify a custom pattern that includes the "T" character as the time separator. For instance:

String pattern = "yyyy-MM-dd'T'HH:mm:ssZ";
Copy after login

2. Single Quote Escaping:

Alternatively, you can escape the "T" character using single quotes. This way, it will be treated as a literal character rather than a pattern character.

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

Additional Notes:

  • In Java 8 and higher, you can use the DateTimeFormatter class to parse date strings more flexibly and concisely. For example:
String input = "2010-10-02T12:23:23Z";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'");
LocalDateTime dateTime = LocalDateTime.parse(input, formatter);
Copy after login
  • Remember to set the TimeZone to UTC or the relevant time zone when parsing the date string.

Applying one of these methods should allow you to successfully parse date strings with the "T" character as the time separator.

The above is the detailed content of Why Does Parsing a Date String with 'T' in Java Throw an 'Illegal Pattern Character 'T'' Exception?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template