Calendar Class in Java with examples

Calendar class in Java is an abstract class that provides methods for converting date between a specific instant in time and a set of calendar fields such as MONTH, YEAR, HOUR, etc. It inherits Object class and implements the Comparable, Serializable, Cloneable interfaces.

As it is an Abstract class, so we cannot use a constructor to create an instance. Instead, we will have to use the static method Calendar.getInstance() to instantiate and implement a sub-class.

  • Calendar.getInstance(): return a Calendar instance based on the current time in the default time zone with the default locale.
  • Calendar.getInstance(TimeZone zone)
  • Calendar.getInstance(Locale aLocale)
  • Calendar.getInstance(TimeZone zone, Locale aLocale)

Java program to demonstrate getInstance() method:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Date getTime(): It is used to return a
// Date object representing this
// Calendar's time value.
  
import java.util.*;
public class Calendar1 {
    public static void main(String args[])
    {
        Calendar c = Calendar.getInstance();
        System.out.println("The Current Date is:" + c.getTime());
    }
}

chevron_right


Output:

The Current Date is:Tue Aug 28 11:10:40 UTC 2018

Important Methods and their usage







METHOD DESCRIPTION
abstract void add(int field, int amount) It is used to add or subtract the specified amount of time to the given calendar field, based on the calendar’s rules.
int get(int field) It is used to return the value of the given calendar field.
abstract int getMaximum(int field) It is used to return the maximum value for the given calendar field of this Calendar instance.
abstract int getMinimum(int field) It is used to return the minimum value for the given calendar field of this Calendar instance.
Date getTime() It is used to return a Date object representing this Calendar’s time value.</td

Below programs illustrate the above methods:

Program 1: Java program to demonstrate get() method.

filter_none

edit
close

play_arrow

link
brightness_4
code

// Program to demonstrate get() method
// of Calendar class
  
import java.util.*;
public class Calendar2 {
    public static void main(String[] args)
    {
        // creating Calendar object
        Calendar calendar = Calendar.getInstance();
          
        // Demonstrate Calendar's get()method
        System.out.println("Current Calendar's Year: " + calendar.get(Calendar.YEAR));
        System.out.println("Current Calendar's Day: " + calendar.get(Calendar.DATE));
        System.out.println("Current MINUTE: " + calendar.get(Calendar.MINUTE));
        System.out.println("Current SECOND: " + calendar.get(Calendar.SECOND));
    }
}

chevron_right


Output:

Current Calendar's Year: 2018
Current Calendar's Day: 28
Current MINUTE: 10
Current SECOND: 45

Program 2: Java program to demonstrate getMaximum() method.

filter_none

edit
close

play_arrow

link
brightness_4
code

// Program to demonstrate getMaximum() method
// of Calendar class
  
import java.util.*;
public class Calendar3 {
    public static void main(String[] args)
    {
        // creating calendar object
        Calendar calendar = Calendar.getInstance();
      
        int max = calendar.getMaximum(Calendar.DAY_OF_WEEK);
        System.out.println("Maximum number of days in a week: " + max);
          
        max = calendar.getMaximum(Calendar.WEEK_OF_YEAR);
        System.out.println("Maximum number of weeks in a year: " + max);
    }
}

chevron_right


Output:

Maximum number of days in a week: 7
Maximum number of weeks in a year: 53

Program 3: Java program to demonstrate the getMinimum() method.

filter_none

edit
close

play_arrow

link
brightness_4
code

// Program to demonstrate getMinimum() method
// of Calendar class
  
import java.util.*;
public class Calendar4 {
    public static void main(String[] args)
    {
        // creating calendar object
        Calendar calendar = Calendar.getInstance();
          
        int min = calendar.getMinimum(Calendar.DAY_OF_WEEK);
        System.out.println("Minimum number of days in week: " + min);
          
        min = calendar.getMinimum(Calendar.WEEK_OF_YEAR);
        System.out.println("Minimum number of weeks in year: " + min);
    }
}

chevron_right


Output:

Minimum number of days in week: 1
Minimum number of weeks in year: 1

Program 4: Java program to demonstrate add() method.

filter_none

edit
close

play_arrow

link
brightness_4
code

// Program to demonstrate add() method
// of Calendar class
  
import java.util.*;
public class Calendar5 {
    public static void main(String[] args)
    {
        // creating calendar object
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DATE, -15);
        System.out.println("15 days ago: " + calendar.getTime());
        calendar.add(Calendar.MONTH, 4);
        System.out.println("4 months later: " + calendar.getTime());
        calendar.add(Calendar.YEAR, 2);
        System.out.println("2 years later: " + calendar.getTime());
    }
}

chevron_right


Output:

15 days ago: Mon Aug 13 11:10:57 UTC 2018
4 months later: Thu Dec 13 11:10:57 UTC 2018
2 years later: Sun Dec 13 11:10:57 UTC 2020

Reference: https://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


3


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.