in Java, how to parse a date string that contains a letter that does not represent a pattern?
"2007-11-02T14:46:03+01:00"
String date ="2007-11-02T14:46:03+01:00"; String format = "yyyy-MM-ddTHH:mm:ssz"; new SimpleDateFormat(format).parse(date); Exception in thread "main" java.lang.IllegalArgumentException: Illegal pattern character 'T' at java.text.SimpleDateFormat.compile(SimpleDateFormat.java:769) at java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:576) at java.text.SimpleDateFormat.(SimpleDateFormat.java:501) at java.text.SimpleDateFormat.(SimpleDateFormat.java:476)
SimpleDateFormat
. That class is notoriously troublesome and long outdated. Instead just useOffsetDateTime
from java.time, the modern Java date and time API. – Ole V.V.