使用java的Calendar对象获得当前日期

网友投稿 215 2023-07-31


使用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) {

chttp://alendar.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;

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java的split方法使用详解
下一篇:在CentOS上配置Java环境变量的教程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~