jsr-310 has a handy class DateTimeFormatters
which allows you to construct a DateTimeFormatter
. I particularly like the pattern(String)
method - see javadoc
However, I hit a problem whereby this is case sensitive -- e.g.
DateTimeFormatters.pattern("dd-MMM-yyyy");
matches with "01-Jan-2012", but not with "01-JAN-2012" or "01-jan-2012".
One approach would be to break the string down and parse components, or another would be to use Regex to replace the case-insensitive strings with the case-sensitive string.
But it feels like there ought to be an easier way...
And there is... according to the User Guide (offline, see JavaDoc instead), you should use DateTimeFormatterBuilder
to build a complex DateTimeFormatter
e.g.
DateTimeFormatterBuilder builder = new DateTimeFormatterBuilder();
builder.parseCaseInsensitive();
builder.appendPattern("dd-MMM-yyyy");
DateTimeFormatter dateFormat = builder.toFormatter();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With