Programming Tips - Java: Get values from the GregorianCalendar or Calendar class

Date: 2012feb26 Update: 2025sep25 Language: Java Level: novice Q. Java: Get values from the GregorianCalendar or Calendar class A. Here is a full example:
import java.util.Calendar; class Demo { public static final void main(String []args) { final Calendar mycal = Calendar.getInstance(); // The current date/time int year = mycal.get(Calendar.YEAR); // eg 2035 int month1 = mycal.get(Calendar.MONTH) + 1; // Calendar.MONTH is zero-based int jday = mycal.get(Calendar.DAY_OF_YEAR); int mday = mycal.get(Calendar.DAY_OF_MONTH); int wday = mycal.get(Calendar.DAY_OF_WEEK); int hour24 = mycal.get(Calendar.HOUR_OF_DAY); int hour12 = mycal.get(Calendar.HOUR); int minute = mycal.get(Calendar.MINUTE); int second = mycal.get(Calendar.SECOND); int milli = mycal.get(Calendar.MILLISECOND); System.out.println("year=" + year); System.out.println("month1=" + month1); System.out.println("jday=" + jday); System.out.println("mday=" + mday); System.out.println("wday=" + wday); System.out.println("hour24=" + hour24); System.out.println("hour12=" + hour12); System.out.println("minute=" + minute); System.out.println("second=" + second); System.out.println("milli=" + milli); } }
Output (at one time):
year=2025 month1=9 jday=268 mday=25 wday=5 hour24=10 hour12=10 minute=1 second=27 milli=869
Or you could make a class for it:
import java.util.Calendar; import java.util.GregorianCalendar; class Demo { static class OneCal extends GregorianCalendar { int getYear() { return get(Calendar.YEAR); } int getMonth1() { return get(Calendar.MONTH) + 1; } // Returns 1-based month int getJulianDay() { return get(Calendar.DAY_OF_YEAR); } int getDayOfMonth() { return get(Calendar.DAY_OF_MONTH); } int getDayOfWeek() { return get(Calendar.DAY_OF_WEEK); } int getHour24() { return get(Calendar.HOUR_OF_DAY); } int getHour12() { return get(Calendar.HOUR); } int getMinute() { return get(Calendar.MINUTE); } int getSecond() { return get(Calendar.SECOND); } int getMilli() { return get(Calendar.MILLISECOND); } String getDateStr() { return String.format("%04d-%02d-%02d", getYear(), getMonth1(), getDayOfMonth()); } String getTimeStr() { return String.format("%02d:%02d:%02d", getHour24(), getMinute(), getSecond()); } } public static final void main(String []args) { final OneCal mycal = new OneCal(); System.out.println("year=" + mycal.getYear()); System.out.println("month1=" + mycal.getMonth1()); System.out.println("jday=" + mycal.getJulianDay()); System.out.println("mday=" + mycal.getDayOfMonth()); System.out.println("wday=" + mycal.getDayOfWeek()); System.out.println("hour24=" + mycal.getHour24()); System.out.println("hour12=" + mycal.getHour12()); System.out.println("minute=" + mycal.getMinute()); System.out.println("second=" + mycal.getSecond()); System.out.println("milli=" + mycal.getMilli()); System.out.println("date=" + mycal.getDateStr()); System.out.println("time=" + mycal.getTimeStr()); } }
Output (at one time):
year=2025 month1=9 jday=268 mday=25 wday=5 hour24=10 hour12=10 minute=9 second=53 milli=161 date=2025-09-25 time=10:09:53