Calendar類的get () 與set()在獲取月份情況下與設定月份情況下不同
阿新 • • 發佈:2021-02-09
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())); }