獲取本月,上月,下月 第一天和最後一天 java
Calendar cl = new Calendar.getInstance();//獲取日曆物件
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
String str = sf.format(cl.getTime());//當前時間
本月第一天:直接設定月份為當前月份,day為1號(當前月份為Calendar.MONTH-1)
cl.set(Calendar.MONTH,-1);
cl.set(Calendar.DAY_OF_MONTH,1);
String str2 = sf.format(cl.getTime());//本月第一天
本月最後一天:先將時間設定為下個月1號,然後減一天,即為本月最後一天
cl.set(Calendar.MONTH,0);//設定月份為下個月
cl.set(Calendar.DAY_OF_MONTH,1);//設定day為1號
cl.add(Calendar.DATE,-1);將時間減1天
String str3 = sf.format(cl.getTime());//本月最後一天
上月第一天:直接設定月份為上個月,day為1號
cl.set(Calendar.MONTH,-2);//設定月份為上個月
cl.set(Calendar.DAY_OF_MONTH,1);//設定day為1號
String str4 = sf.format(cl.getTime());
上月最後一天:先將時間設定為本月1號,然後減一天即為上月最後一天
cl.set(Calendar.MONTH,-1);//設定為本月
cl.set(Calendar.DAY_OF_MONTH,1);//設定day為1號
cl.add(Calendar.DATE,-1);//將時間減1天
String str5 = sf.format(cl.getTime());//上月最後一天
下月第一天:直接設定月份為下月,day為1號
cl.set(Calendar.MONTH,0);//設定為下月
cl.set(Calendar.DAY_OF_MONTH,1);設定day為1號
String str6 = sf.format(cl.getTime());//下月第一天
下月最後一天:設定月份為下下月,day為1號,然後減一天
cl.set(Calendar.MONTH,1);//設定為下下月
cl.set(Calendar.DAY_OF_MONTH,1);設定day為1號
cl.add(Calendar.DATE,-1);//將時間減1天
String str7 = sf.format(cl.getTime());//下月最後一天