1. 程式人生 > 其它 >Calendar類的get () 與set()在獲取月份情況下與設定月份情況下不同

Calendar類的get () 與set()在獲取月份情況下與設定月份情況下不同

技術標籤:工具類java

public static void getAllDayofMonth(String date) {

	/**
	 *   以下是月份三種情況測試
	 * 
	 *         在沒有設定月份的情況下,獲取當前月份的測試?: 當前月份為2月  , 但是 獲取月份為 1 
	 *    
	 *       設定當前月份,獲取當前日期的測試? :設定為2月  ,但是獲取是輸出 為 2021-03-08,輸出為 3
	 *       
	 *     設定當前月份,獲取當前月份+獲取當前日期  ?:設定為2月(),獲取日期為2021-03-08,獲取月份為2
	 *     
	 *     總結 : get(Calendar.MONTH),獲取的月份數值比當前月份數值少  1;
	 *      set(Calendar.MONTH,2),設定當前月份值為2,則獲取日期時輸出為  某年3月,比設定的值多1 ;
	 *      
	 *   不信可以 執行一下程式,這是我目前的理解 與 測試
	 *         
	 */
	
	  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
	  Calendar B = Calendar.getInstance();
	  int b = B.get(Calendar.MONTH);
	  System.out.println("獲取當前月份:"+b);  //獲取當前日期少一天 獲取的值: 1
	  System.out.println("獲取當前日期:"+sdf.format(B.getTime()));  //獲取當前日期正常 2018-10-08
	  
	  
	  Calendar D = Calendar.getInstance();
	  D.set(Calendar.MONTH,2);  //設定當前月份  比設定的值大一個月  設定值為2,得到月份為3
	  System.out.println("設定當前月份"+sdf.format(D.getTime()));
	  }

在這裡插入圖片描述