Calendar class in java
The Calendar is a built-in abstract class in java used to convert date between a specific instant in time and a set of calendar fields such as MONTH, YEAR, HOUR, etc. The Calendar class is available inside the java.util package.
The Calendar class implements Serializable, Cloneable and Comparable interface.
🔔 As the Calendar class is an abstract class, we can not create an object using it.
🔔 We will use the static method Calendar.getInstance() to instantiate and implement a sub-class.
The Calendar class in java has the following methods.
S.No. | Methods with Description |
---|---|
1 |
Calendar getInstance()
It returns a calendar using the default time zone and locale. |
2 |
Date getTime()
It returns a Date object representing the invoking Calendar's time value. |
3 |
TimeZone getTimeZone()
It returns the time zone object associated with the invoking calendar. |
4 |
String getCalendarType()
It returns an instance of Date object from Instant date. |
5 |
int get(int field)
It rerturns the value for the given calendar field. |
6 |
int getFirstDayOfWeek()
It returns the day of the week in integer form. |
7 |
int getWeeksInWeekYear()
It retruns the total weeks in week year. |
8 |
int getWeekYear()
It returns the week year represented by current Calendar. |
9 |
void add(int field, int amount)
It adds the specified amount of time to the given calendar field. |
10 |
boolean after (Object when)
It returns true if the time represented by the Calendar is after the time represented by when Object. |
11 |
boolean before(Object when)
It returns true if the time represented by the Calendar is before the time represented by when Object. |
12 |
void clear(int field)
It sets the given calendar field value and the time value of this Calendar undefined. |
13 |
Object clone()
It retruns the copy of the current object. |
14 |
int compareTo(Calendar anotherCalendar)
It compares and retruns the time values (millisecond offsets) between two calendar object. |
15 |
void complete()
It sets any unset fields in the calendar fields. |
16 |
void computeFields()
It converts the current millisecond time value time to calendar field values in fields[]. |
17 |
void computeTime()
It converts the current calendar field values in fields[] to the millisecond time value time. |
18 |
boolean equals(Object object)
It returns true if both invoking object and argumented object are equal. |
19 |
int getActualMaximum(int field)
It returns the Maximum possible value of the specified calendar field. |
20 |
int getActualMinimum(int field)
It returns the Minimum possible value of the specified calendar field. |
21 |
Set getAvailableCalendarTypes()
It returns a string set of all available calendar type supported by Java Runtime Environment. |
22 |
Locale[] getAvailableLocales()
It returns an array of all locales available in java runtime environment. |
23 |
String getDisplayName(int field, int style, Locale locale)
It returns the String representation of the specified calendar field value in a given style, and local. |
24 |
Map getDisplayNames(int field, int style, Locale locale)
It returns Map representation of the given calendar field value in a given style and local. |
25 |
int getGreatestMinimum(int field)
It returns the highest minimum value of the specified Calendar field. |
26 |
int getLeastMaximum(int field)
It returns the highest maximum value of the specified Calendar field. |
27 |
int getMaximum(int field)
It returns the maximum value of the specified calendar field. |
28 |
int getMinimalDaysInFirstWeek()
It returns required minimum days in integer form. |
29 |
int getMinimum(int field)
It returns the minimum value of specified calendar field. |
30 |
long getTimeInMillis()
It returns the current time in millisecond. |
31 |
int hashCode()
It returns the hash code of the invoking object. |
32 |
int internalGet(int field)
It returns the value of the given calendar field. |
33 |
boolean isLenient()
It returns true if the interpretation mode of this calendar is lenient; false otherwise. |
34 |
boolean isSet(int field)
If not set then it returns false otherwise true. |
35 |
boolean isWeekDateSupported()
It returns true if the calendar supports week date. The default value is false. |
36 |
void roll(int field, boolean up)
It increase or decrease the specified calendar field by one unit without affecting the other field |
37 |
void set(int field, int value)
It sets the specified calendar field by the specified value. |
38 |
void setFirstDayOfWeek(int value)
It sets the first day of the week. |
39 |
void setMinimalDaysInFirstWeek(int value)
It sets the minimal days required in the first week. |
40 |
void setTime(Date date)
It sets the Time of current calendar object. |
41 |
void setTimeInMillis(long millis)
It sets the current time in millisecond. |
42 |
void setTimeZone(TimeZone value)
It sets the TimeZone with passed TimeZone value. |
43 |
void setWeekDate(int weekYear, int weekOfYear, int dayOfWeek)
It sets the current date with specified integer value. |
44 |
Instant toInstant()
It converts the current object to an instant. |
45 |
String toString()
It returns a string representation of the current object. |
Let's consider an example program to illustrate methods of Calendar class.
import java.util.*;
public class CalendarClassExample {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
System.out.println("Current date and time : \n=>" + cal);
System.out.println("Current Calendar type : " + cal.getCalendarType());
System.out.println("Current date and time : \n=>" + cal.getTime());
System.out.println("Current date time zone : \n=>" + cal.getTimeZone());
System.out.println("Calendar filed 1 (year): " + cal.get(1));
System.out.println("Calendar day in integer form: " + cal.getFirstDayOfWeek());
System.out.println("Calendar weeks in a year: " + cal.getWeeksInWeekYear());
System.out.println("Time in milliseconds: " + cal.getTimeInMillis());
System.out.println("Available Calendar types: " + cal.getAvailableCalendarTypes());
System.out.println("Calendar hash code: " + cal.hashCode());
System.out.println("Is calendar supports week date? " + cal.isWeekDateSupported());
System.out.println("Calendar string representation: " + cal.toString());
}
}
When we execute the above code, it produce the following output.