Search code examples
javasimpledateformat

How to extract day, month and year from Date using Java?


SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
Date date = formatter.parse("2020/05/06"); 

I need to extract day, month and year from it i.e.

int day = 06;
int  month = 05;
int year = 2020;

but when I use

int day = date.getDay();
int month = date.getMonth();
int day = date.getYear(); 

its not working.


Solution

  • Don't use Date as it is deprecated. Use LocalDate and DateTimeFormatter as follows.

    LocalDate ld  = LocalDate.parse("2020/05/06", 
                  DateTimeFormatter.ofPattern("yyyy/MM/dd"));
    int year = ld.getYear();
    int month = ld.getMonthValue();
    int day = ld.getDayOfMonth();
    System.out.println(month + " " + day + " " + year);
    

    Prints

    5 6 2020
    

    Check out the other date/time related classes in the java.time package.