日期:2014-05-20 浏览次数:20886 次
Date date = new Date(System.currentTimeMillis()) ; int month = date.getMonth() ; if(0<=month&& month<=2){ System.out.println("09月30日"); } if(3<=month&& month<=5){ System.out.println("12月31日"); } if(6<=month&& month<=8){ System.out.println("03月31日"); }if(9<=month&& month<=11){ System.out.println("06月30日"); }
------解决方案--------------------
同意huage1998
思路要开阔一些,事情没那么复杂
另外,huage1998好像没有考虑年的部分
------解决方案--------------------
上上个季度最后一天日期,月和日就是固定的4种值,因此
/** * 取得上上季度最后一天日期 * @param date 日期 * @return */ public String getLastDay(Date date){ //取得日历 Calendar calendar = Calendar.getInstance(); calendar.setTime(date); // 日历减6个月,即上上季度 calendar.add(Calendar.MONTH,-6); int year = calendar.get(Calendar.YEAR);// 上上季度的年份 int mouth = calendar.get(Calendar.MONTH);// 上上季度的月份 String mmdd = "";// 月/日 // 根据月份,判断是哪个季度 switch( mouth){ case 1: case 2: case 3: mmdd = "3/31"; // 第一季度最后一天是3/31 break; case 4: case 5: case 6: mmdd = "6/30"; // 第二季度最后一天是6/30 break; case 7: case 8: case 9: mmdd = "9/30";// 第三季度最后一天是9/30 break; case 10: case 11: case 12: mmdd = "12/31";// 第四季度最后一天是12/31 break; } String lastDate = String.valueOf(year) + "/" + mmdd; System.out.println(lastDate); return lastDate; }