I am writing a method to take a DOB of 3 integers - day, month, year and return the formatted version DD/MM/YYYY.
I am currently using dateFormatter and simple date form
LocalDate.of( 2017 , 1 , 23 )
.format( DateTimeFormatter.ofPattern( "dd/MM/uuuu" ) )
23/01/2017
The modern way uses the java.time classes.
Avoid the old legacy date-time classes such as Date
and Calendar
as they are poorly designed, confusing, troublesome, and flawed.
LocalDate
LocalDate
represents a date-only value without time-of-day and without time zone. Note that unlike the legacy classes, here the months have sane numbering 1-12 for January-December.
LocalDate ld = LocalDate.of( 2017 , 1 , 23 );
DateTimeFormatter
Generate a String representing that value by using a formatter object.
DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd/MM/uuuu" );
String output = ld.format( f );