java获得当前日期的上个月的最后一天的日期&&每月的最大天数

// 获得当前时间所在月份的上个月的最后一天所在日期
	public String getLastMonthDay(Timestamp t) {
        Calendar cal = Calendar.getInstance();
        Date date = t;
        cal.setTime(date);
        int year = 0;
        int month = cal.get(Calendar.MONTH); // 上个月月份
       //设置年月
        if (month == 0) {
            year = cal.get(Calendar.YEAR) - 1;
            month = 12;
        } else {
            year = cal.get(Calendar.YEAR);
        }
        //设置天数
        String temp=year + "-" + month ;
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
        Date d = null;
		try {
			d = format.parse(temp);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
        cal.setTime(d);
        int day =cal.getActualMaximum(Calendar.DAY_OF_MONTH);
        String endDay = year + "-" + month + "-" + day;
        return endDay;
    }
//得到某月的天数
	public int getMonthDay(String source){
		//String source = "2007年12月";
		int count=30;
		SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月");
		try {      
			 Date date = format.parse(source);   
			 Calendar calendar = new GregorianCalendar();     
			 calendar.setTime(date);    
			 count=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);    
		}catch (Exception e) {   
				 e.printStackTrace();   
		}
		return count;
	}


原文地址:https://www.cnblogs.com/javawebsoa/p/3006004.html