Parsing Dates in Multiple Formats with SimpleDateFormat
When parsing dates from user input, it's common to encounter varying formats. To effectively handle these scenarios, consider employing the SimpleDateFormat class.
Choosing SimpleDateFormat Formats
To parse the given date formats, we need distinct SimpleDateFormat objects. However, we can leverage the rule regarding the number of pattern letters.
For instance, "M/y" will parse "9/09" and "9/2009" without ambiguity. Similarly, "M-d-y" will parse "9-1-2009".
Suggested Approach
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.List; public class DateParser { private List<String> formatStrings = Arrays.asList("M/y", "M/d/y", "M-d-y"); public Date tryParse(String dateString) { for (String formatString : formatStrings) { try { return new SimpleDateFormat(formatString).parse(dateString); } catch (ParseException e) { // Ignore the exception and try the next format } } return null; } }
By utilizing this approach, you can efficiently parse dates with varying formats while minimizing code duplication.
The above is the detailed content of How Can I Efficiently Parse Dates in Multiple Formats Using Java's SimpleDateFormat?. For more information, please follow other related articles on the PHP Chinese website!