
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Print Months in Different Formats in Java
In this article, we are going to use various approaches for formatting the months using different libraries of Java programming language. There are several ways to display months. Sometimes the months are written as numbers, sometimes the months are written in long form or they are written in short forms.
Using java.time.Month
In this approach, the months are printed by specifying the month number that starts from the number 1. For instance -> Month.of(1) will give JANUARY.
Example
In this Java program, we are printing all 12 months name.
import java.time.Month; public class ShowMonth { public static void main(String[] args){ Month mon; for (int mn=1; mn<=12; mn++){ // The first month starts with number 1 mon = Month.of(mn); System.out.println(mon); } } }
Output of the above code is as follows ?
JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY AUGUST SEPTEMBER OCTOBER NOVEMBER DECEMBER
Using java.util.Date and Arrays
In this approach, String arrays is used to store short forms of months, such as Jan, Feb, etc. Then, we use substring() method to identify the month part in the date and print it in the specified format.
Example
Here is the Java program that illustrates the above approach.
import java.util.Date; public class ShowMonth11{ public static void main(String[] args) { // Months are stored as arrays String[] st_arr={"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep","Oct","Nov","Dec"}; String[] seq_arr={"First", "Second", "Third", "Fourth", "Fifth", "Sixth", "Seventh", "Eighth", "Ninth","Tenth","Eleventh","Twelfth"}; // Fetch the current date Date dt = new Date(); String dtstr= dt.toString(); // printing the months for (int mn=0; mn<12; mn++){ System.out.println("The Number " + seq_arr[mn]+ " month in the year is : " +st_arr[mn]); } //selecting the month part from the date String substr2 = dtstr.substring(4,7); System.out.println("\nThe Time now is " + dt); System.out.println("\nThe current month is " + substr2); } }
On running, following output will be displayed ?
The Number First month in the year is : Jan The Number Second month in the year is : Feb The Number Third month in the year is : Mar The Number Fourth month in the year is : Apr The Number Fifth month in the year is : May The Number Sixth month in the year is : Jun The Number Seventh month in the year is : Jul The Number Eighth month in the year is : Aug The Number Ninth month in the year is : Sep The Number Tenth month in the year is : Oct The Number Eleventh month in the year is : Nov The Number Twelfth month in the year is : Dec The Time now is Fri Feb 24 13:19:06 IST 2023 The current month is Feb
Using String and its Methods
In this approach, the date is entered as a String. Then, using the substring() method the month part is identified and printed. The month can be displayed even in the Number form.
Example
Let's see the practical demonstration ?
public class ShowMonth22{ public static void main(String[] args) { String dtstr= "02-24-2023"; String dtstr1= "24-02-2023"; //getting the month part of the date String substr2 = dtstr.substring(0,2); System.out.println("\nThe date is " + dtstr); System.out.println("\nThe current month is " + substr2); //getting the month part of the date String substr3 = dtstr1.substring(3,5); System.out.println("\nThe date is " + dtstr1); System.out.println("\nThe current month is " + substr3); } }
When you execute, this code will produce following result ?
The date is 02-24-2023 The current month is 02 The date is 24-02-2023 The current month is 02
Using java.text.SimpleDateFormat
In this approach, different formats can be specified as patterns for displaying the date. Month formats in the date are printed in MMM form (such as Feb) or in MMMM form (such as February). It can also be used to display month names in different locale formats and languages. For instance, in Spanish febrero is printed for February.
Example
Here is the code for above discussed approach ?
import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public class ShowMonth33{ public static void main(String[] args) { Date dtt = new Date(); // MMM means date specification such as Feb, Mar etc SimpleDateFormat formatted_mmm; // MMMM means date specification such as February, March etc SimpleDateFormat formatted_mmmm; SimpleDateFormat formatted_datestyle; SimpleDateFormat formatted_datestyle1; formatted_mmm = new SimpleDateFormat("MMM"); System.out.println(formatted_mmm.format(dtt)); formatted_mmmm = new SimpleDateFormat("MMMM"); System.out.println(formatted_mmmm.format(dtt)); //Specifying the pattern of showing date time formatted_datestyle = new SimpleDateFormat("EEEE dd MMMM yyyy kk:mm:ss"); System.out.println(formatted_datestyle.format(dtt)); //Specifying the pattern of showing date time formatted_datestyle1 = new SimpleDateFormat("dd MMM yyyy kk:mm:ss"); System.out.println(formatted_datestyle1.format(dtt)); //setting for the Spanish language Locale spanishDT = new Locale("es","ES"); System.out.println("Now using Spanish: "); System.out.printf(spanishDT, "month: %tB\n", dtt); //setting for the French language SimpleDateFormat dt_fr = new SimpleDateFormat("dd MMM yyyy kk:mm:ss", new Locale("fr")); System.out.println("Now using French: "); System.out.println(dt_fr.format(dtt)); } }
Following is the output of the above code ?
Feb February Friday 24 February 2023 19:48:31 24 Feb 2023 19:48:31 Now using Spanish: month: febrero Now using French: 24 févr. 2023 19:48:31
Using java.util.Calendar
In this approach, the Calender object is used and Calendar.MONTH is used to find the month. Here the index starts from 0 so 1 is added to the Calendar.MONTH to print the correct month in the date.
Example
The following Java program shows how to print months using Calendar class.
import java.util.Calendar; public class ShowMonth44{ public static void main(String[] args) { //using Calendar instance Calendar cal = Calendar.getInstance(); //getting Time from cal System.out.println("The Current Date is: " + cal.getTime()); // Calendar Months start with 0 index therefore 1 is added for the correct result System.out.println("Current Calendar Month is : " + (cal.get(Calendar.MONTH) +1 ) ); } }
Output of the above code is ?
The Current Date is: Fri Feb 24 19:12:06 IST 2023 Current Calendar Month is: 2