應用java的Calendar對象取得以後日期。本站提示廣大學習愛好者:(應用java的Calendar對象取得以後日期)文章只能為提供參考,不一定能成為您想要的結果。以下是應用java的Calendar對象取得以後日期正文
思緒:
先取得以後季度的開端和停止日期,在以後日期的基本上往前推3個月即上個季度的開端和停止日期
/**
* @param flag true:開端日期;false:停止日期
* @return
*/
public static String getLastQuarterTime(boolean flag){
SimpleDateFormat shortSdf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat longSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String resultDate="";
Date now = null;
try {
Calendar calendar = Calendar.getInstance();
int currentMonth = calendar.get(Calendar.MONTH) + 1;
//true:開端日期;false:停止日期
if(flag){
if (currentMonth >= 1 && currentMonth <= 3)
calendar.set(Calendar.MONTH, 0);
else if (currentMonth >= 4 && currentMonth <= 6)
calendar.set(Calendar.MONTH, 3);
else if (currentMonth >= 7 && currentMonth <= 9)
calendar.set(Calendar.MONTH, 6);
else if (currentMonth >= 10 && currentMonth <= 12)
calendar.set(Calendar.MONTH, 9);
calendar.set(Calendar.DATE, 1);
now = longSdf.parse(shortSdf.format(calendar.getTime()) + " 00:00:00");
}else{
if (currentMonth >= 1 && currentMonth <= 3) {
calendar.set(Calendar.MONTH, 2);
calendar.set(Calendar.DATE, 31);
} else if (currentMonth >= 4 && currentMonth <= 6) {
calendar.set(Calendar.MONTH, 5);
calendar.set(Calendar.DATE, 30);
} else if (currentMonth >= 7 && currentMonth <= 9) {
calendar.set(Calendar.MONTH, 8);
calendar.set(Calendar.DATE, 30);
} else if (currentMonth >= 10 && currentMonth <= 12) {
calendar.set(Calendar.MONTH, 11);
calendar.set(Calendar.DATE, 31);
}
now = longSdf.parse(shortSdf.format(calendar.getTime()) + " 23:59:59");
}
calendar.setTime(now);// 設置日期
calendar.add(Calendar.MONTH, -3);
resultDate = longSdf.format(calendar.getTime());
} catch (Exception e) {
;
}
return resultDate;
}