Java程序以不同格式打印月份
本文使用不同的方法使用不同的库和 Java 语言中相应的导入语句来格式化月份。有很多方法可以在 Java 程序输出中显示月份。有时月份写成数字,有时月份写成长形式或缩写形式。月份名称也可以用其他语言书写,例如西班牙语、法语等。
算法
第 1 步 - 要求用户输入日期。
第 2 步 - 确定日期的月份部分。
第 3 步 - 指定月份的格式。
第 4 步 - 以指定格式打印月份。
多种方法
我们使用不同的方法提供了解决方案。
通过使用 java.time.Month
通过使用 java.util.Date 和数组
通过使用 String 及其方法
通过使用 java.text.SimpleDateFormat
通过使用 java.util.Calendar
让我们一一看看该程序及其输出。
方法 1:使用 java.time.Month
在此方法中,通过指定从数字 1 开始的月份编号来打印月份。例如 -> Month.of(1) 将给出 JANUARY。
示例
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); } } }
输出
JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY AUGUST SEPTEMBER OCTOBER NOVEMBER DECEMBER
方法 2:使用 java.util.Date 和数组
在这种方法中,字符串数组用于存储月份的简短形式,例如 Jan、Feb 等。使用 substring 方法来识别日期中的月份部分,并以指定的格式打印它。
示例
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); } }
输出
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
方法 3:使用字符串及其方法
在此方法中,日期作为字符串输入。然后使用子字符串方法识别并打印月份部分。即使以数字形式也可以显示月份。
示例
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); } }
输出
The date is 02-24-2023 The current month is 02 The date is 24-02-2023 The current month is 02
方法 4:使用 java.text.SimpleDateFormat
在此方法中,可以指定不同的格式作为显示日期的模式。日期中的月份格式以 MMM 形式(例如 Feb)或 MMMM 形式(例如 February)打印。它还可用于以不同的区域设置格式和语言显示月份名称。对于 eq,西班牙语 febrero 表示二月。
示例
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)); } }
输出
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
方法 5:使用 java.util.Calendar
在此方法中,使用 Calender 对象并使用 Calendar.MONTH 来查找月份。这里索引从 0 开始,因此将 1 添加到 Calendar.MONTH 以在日期中打印正确的月份。
示例
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 ) ); } }
输出
The Current Date is: Fri Feb 24 19:12:06 IST 2023 Current Calendar Month is: 2
结论
在本文中,我们使用 Java 语言探索了月份的不同格式。还针对所使用的每种方法给出了不同的代码示例以及输出。
以上就是Java程序以不同格式打印月份的详细内容,更多请关注其它相关文章!