Creating java date object from year,month,day Creating java date object from year,month,day java java

Creating java date object from year,month,day


Months are zero-based in Calendar. So 12 is interpreted as december + 1 month. Use

c.set(year, month - 1, day, 0, 0);  


That's my favorite way prior to Java 8:

Date date = new GregorianCalendar(year, month - 1, day).getTime();

I'd say this is a cleaner approach than:

calendar.set(year, month - 1, day, 0, 0);


java.time

Using java.time framework built into Java 8

int year = 2015;int month = 12;int day = 22;LocalDate.of(year, month, day); //2015-12-22LocalDate.parse("2015-12-22"); //2015-12-22//with custom formatter DateTimeFormatter.ofPattern formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");LocalDate.parse("22-12-2015", formatter); //2015-12-22

If you need also information about time(hour,minute,second) use some conversion from LocalDate to LocalDateTime

LocalDate.parse("2015-12-22").atStartOfDay() //2015-12-22T00:00