您的位置:首页 > 编程语言 > Java开发

使用java的Calendar对象获得当前日期的上几个度开始、结束时间

2015-07-01 22:18 615 查看
思路:

先获得当前季度的开始和结束日期,在当前日期的基础上往前推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;
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: