Java Date Parsing Exception: "Unparseable Date"
When attempting to parse a date using SimpleDateFormat, you may encounter the "Unparseable date" exception. This error occurs when the date string provided does not match the specified date format.
In this particular instance, the code provided attempts to parse the date "Wed, 09 Feb 2011 12:34:27" using the format "EEE, dd MMM yyyy HH:mm:ss". Upon execution, the exception is thrown, indicating that the date cannot be parsed.
The reason for this issue lies in the locale used for parsing. By default, Java uses the system locale, which may differ from the expected English locale. As a result, the pattern used in SimpleDateFormat may not match the date formatting rules for the current locale.
To resolve this issue, it's recommended to explicitly specify the locale when creating the SimpleDateFormat instance. This ensures that the correct formatting rules are applied:
import java.util.Date; import java.text.SimpleDateFormat; import java.util.Locale; ... SimpleDateFormat FORMATTER = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss", Locale.ENGLISH);
By specifying Locale.ENGLISH, the formatter uses the English language formatting conventions, which matches the format of the input date string. This allows the date to be successfully parsed without encountering the "Unparseable date" exception.
The above is the detailed content of Why Does My Java SimpleDateFormat Throw an 'Unparseable Date' Exception?. For more information, please follow other related articles on the PHP Chinese website!