Use DateTimeFormatterBuilder to create formatting that can parse / format multiple DateTimeFormat s and set the resulting DateTimeFormatter to use the specified DateTimeZone :
DateTimeParser[] parsers = { DateTimeFormat.forPattern("MM-dd-yyyy").getParser(), DateTimeFormat.forPattern("yyyy-MM-dd").getParser(), DateTimeFormat.forPattern("MM/dd/yyyy").getParser(), DateTimeFormat.forPattern("yyyy/MM/dd").getParser() }; DateTimeFormatter formatter = new DateTimeFormatterBuilder() .append(null, parsers) .toFormatter() .withZone(DateTimeZone.UTC); DateTime dttm1 = formatter.parseDateTime("01-31-2012"); DateTime dttm2 = formatter.parseDateTime("01/31/2012"); DateTime dttm3 = formatter.parseDateTime("2012-01-31");
To format the given DateTime , you can simply use dttm1.toString("yyyy-MM-dd")) .
source share