- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Java Program to Print the Months in Different Formats
This article uses various approaches for formatting the months using different libraries and using corresponding import statements in Java language. There are lots of ways to display months in the Java program outputs. Sometimes the months are written as numbers, sometimes the months are written in long form or they are written in short forms. The Month names are also written in other Languages such as Spanish, French, etc.
Algorithm
Step 1 − Ask the user to enter the date.
Step 2 − Identify the month part of the date.
Step 3 − Specify the format for the month.
Step 4 − Print the month in the specified format.
Multiple Approaches
We have provided the solution using different approaches.
By Using java.time.Month
By Using java.util.Date and Arrays
By Using String and its methods
By Using java.text.SimpleDateFormat
By Using java.util.Calendar
Let’s see the program along with its output one by one.
Approach-1: By Using java.time.Month
In this approach, the months are printed by specifying the month number that starts from the number 1. For example -> Month.of(1) will give JANUARY.
Example
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
JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY AUGUST SEPTEMBER OCTOBER NOVEMBER DECEMBER
Approach 2: By Using java.util.Date and Arrays
In this approach, String Arrays are used to store short forms of months, such as Jan, Feb, etc. The substring method is used to identify the month part in the date and printed it in the specified format.
Example
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); } }
Output
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
Approach-3: By 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
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); } }
Output
The date is 02-24-2023 The current month is 02 The date is 24-02-2023 The current month is 02
Approach-4: By 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 eq, in Spanish febrero is printed for February.
Example
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)); } }
Output
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
Approach 5: By 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
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
The Current Date is: Fri Feb 24 19:12:06 IST 2023 Current Calendar Month is: 2
Conclusion
In this article, we explored different formats of the Month using Java language. The different code examples as well as the outputs are also given for each approach that is used.