Home >Java >javaTutorial >Why Does Parsing a Date String with 'T' in Java Throw an 'Illegal Pattern Character 'T'' Exception?
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";
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";
Additional Notes:
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);
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!