Java程式列印月份的不同格式


在本文中,我們將使用各種方法來使用Java程式語言的不同庫格式化月份。顯示月份的方法有很多種。有時月份以數字表示,有時月份以長格式表示,或者以短格式表示。

使用 java.time.Month

在這種方法中,透過指定從數字 1 開始的月份編號來列印月份。例如 -> Month.of(1) 將給出 JANUARY。

示例

在這個 Java 程式中,我們正在列印所有 12 個月名稱。

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

使用 java.util.Date 和 Arrays

在這種方法中,使用字串陣列儲存月份的縮寫形式,例如 Jan、Feb 等。然後,我們使用substring()方法來識別日期中的月份部分並以指定的格式列印它。

示例

以下是說明上述方法的 Java 程式。

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

使用 String 及其方法

在這種方法中,日期作為字串輸入。然後,使用substring() 方法識別並列印月份部分。月份甚至可以以數字形式顯示。

示例

讓我們看看實際演示:

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

使用 java.text.SimpleDateFormat

在這種方法中,可以將不同的格式指定為顯示日期的模式。日期中的月份格式以 MMM 格式(例如 Feb)或 MMMM 格式(例如 February)列印。它還可以用於以不同的語言環境格式和語言顯示月份名稱。例如,在西班牙語中,February 列印為 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

使用 java.util.Calendar

在這種方法中,使用 Calender 物件,並使用 Calendar.MONTH 查詢月份。這裡索引從 0 開始,因此將 1 新增到 Calendar.MONTH 以在日期中列印正確的月份。

示例

以下 Java 程式演示瞭如何使用 Calendar 類列印月份。

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

更新於:2024-09-11

625 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.