Open In App

How to get Day, Month and Year from Date in Java

Given a date in the form of a string, the task is to write a Java Program to get the day, month, and year from the given date.

Examples:



Input: date = “2020-07-18”
Output:
Day: 18
Month: July
Year: 2020
Explanation: The given date is ‘2020-07-18’, so the day is: 18, the month is: July, and the year is: 2020.

Input: date = “2018-05-10”
Output:
Day: 10
Month: May
Year: 2018
Explanation: The given date is ‘2018-05-10’, so the day is: 10, the month is: May, and the year is: 2018.



Method 1: Using LocalDate class in Java:

Below is the implementation of the above approach:




// Java program for the above approach
import java.util.Date;
import java.time.Month;
import java.time.LocalDate;
 
class GFG {
 
    // Function to get day, month, and
    // year from date
    public static void
    getDayMonthYear(String date)
    {
 
        // Get an instance of LocalTime
        // from date
        LocalDate currentDate
            = LocalDate.parse(date);
 
        // Get day from date
        int day = currentDate.getDayOfMonth();
 
        // Get month from date
        Month month = currentDate.getMonth();
 
        // Get year from date
        int year = currentDate.getYear();
 
        // Print the day, month, and year
        System.out.println("Day: " + day);
        System.out.println("Month: " + month);
        System.out.println("Year: " + year);
    }
 
    // Driver Code
    public static void main(String args[])
    {
        // Given Date
        String date = "2020-07-18";
 
        // Function Call
        getDayMonthYear(date);
    }
}

Output
Day: 18
Month: JULY
Year: 2020

Time Complexity: O(1), since the program has only one loop and it only executes one time, its time complexity is O(1).
Auxiliary Space: O(1), the program only uses constant space to store the variables, hence the space complexity is O(1).

Method 2: Using Calendar class in Java:

Below is the implementation of the above approach:




// Java program for the above approach
import java.util.*;
 
class GFG {
 
    // Driver Code
    public static void main(String args[])
    {
        // Creating a calendar object
        Calendar cal
            = new GregorianCalendar(
                2020, 07, 18);
 
        // Getting the values of day,
        // month, and year from calendar
        // object
        int day = cal.get(Calendar.DAY_OF_MONTH);
        int month = cal.get(Calendar.MONTH);
        int year = cal.get(Calendar.YEAR);
 
        // Printing the day, month, and year
        System.out.println("Day: " + day);
        System.out.println("Month: " + month);
        System.out.println("Year: " + year);
    }
}

Output
Day: 18
Month: 7
Year: 2020

Time Complexity: O(1)
Auxiliary Space: O(1)
The time and space complexity of the above program is O(1) as it takes constant time and space to execute.

Method 3: Using String.split() in Java:

  1. The idea is to use the split() method of String class.
  2. It splits a string according to the pattern provided and returns an array of string.

Below is the implementation of the above approach:




// Java program for the above approach
class GFG {
 
    // Function to get day, month, and
    // year from date
    public static void findDate(String date)
    {
        // Splitting the given date by '-'
        String dateParts[] = date.split("-");
 
        // Getting day, month, and year
        // from date
        String day = dateParts[0];
        String month = dateParts[1];
        String year = dateParts[2];
 
        // Printing the day, month, and year
        System.out.println("Day: " + day);
        System.out.println("Month: " + month);
        System.out.println("Year: " + year);
    }
 
    // Driver Code
    public static void
    main(String args[])
    {
        // Given date
        String date = "18-07-2020";
 
        findDate(date);
    }
}

Output
Day: 18
Month: 07
Year: 2020

By using “java.time package” we can get current date and time in very simple way:

Simple java program to Print current Date Month and Year using Calendar-




import java.util.Calendar;
 
class Easy
 
{
 
 public static void main(String[] args)
 
 {
 
     Calendar cal=Calendar.getInstance();
 
     System.out.println("Current Date:"+cal.get(Calendar.DATE));
 
     System.out.println("Current Month:"+(cal.get(Calendar.MONTH)+1));
 
     System.out.println("Current Year:"+cal.get(Calendar.YEAR));
 
 }
 
}
 
 
 
   
  

Output
Current Date:22
Current Month:1
Current Year:2023

 Time Complexity: O(1), As there is no loop or recursive function call present, the time complexity of the above program is O(1).
  Auxiliary Space: O(1), As no new data structure is used, the space complexity of the program is O(1).


Article Tags :