JDK 1.8.0_131 Mac OS X JDK 1.8.0111 Windows ( ).
DateTimeFormatter ( []), (MM/dd/yyyy yyyy-MM-dd'T'HH:mm:ss).
(LocalDate), .
// parse both formats (use optional section, delimited by [])
DateTimeFormatter parser = DateTimeFormatter.ofPattern("[MM/dd/yyyy][yyyy-MM-dd'T'HH:mm:ss]");
// parse MM/dd/yyyy
LocalDate d1 = LocalDate.parse("10/16/2016", parser);
// parse yyyy-MM-dd'T'HH:mm:ss
LocalDate d2 = LocalDate.parse("2016-10-16T10:20:30", parser);
// parser.format(d1) is the same as d1.format(parser)
System.out.println(parser.format(d1));
System.out.println(parser.format(d2));
:
10/16/2016
10/16/2016
PS: LocalDate. (, LocalDateTime), :
System.out.println(parser.format(LocalDateTime.now()));
:
06/18/20172017-06-18T07: 40: 55
, . , formatter , . LocalDate (//), , (MM/dd/yyyy). LocalDateTime , , .
: (, Joda-Time), "" , . .
, LocalDate, . , , , , :
DateTimeFormatter mdy = DateTimeFormatter.ofPattern("MM/dd/yyyy");
DateTimeFormatter parser = new DateTimeFormatterBuilder()
.appendOptional(mdy)
.appendOptional(DateTimeFormatter.ISO_LOCAL_DATE_TIME)
.toFormatter();
LocalDate d1 = LocalDate.parse("10/16/2016", parser);
LocalDate d2 = LocalDate.parse("2016-10-16T10:20:30", parser);
System.out.println(mdy.format(d1));
System.out.println(mdy.format(d2));
System.out.println(mdy.format(LocalDateTime.now()));
:
10/16/2016
10/16/2016
06/18/2017
user7605325