据传入增量、Date得到相对于该日期的某个月的第一天和最后一天

   /**
     * 据传入的第二个参数返回传入日期xxx月(之前或之后)的第一天
     * @param date null=currentDate
     * @param param 增量 -1,上个月;0,当月;1,下个月(如此类推)
     * @return string(yyyy-MM-dd)
     */
    public static String getDateFirstDayByParam(Date date,int param){
        Calendar calendar=Calendar.getInstance();
        if (date!=null) {
            calendar.setTime(date);
        }
        calendar.add(Calendar.MONTH, param);
        int   lastDay   =   calendar.getActualMinimum(Calendar.DAY_OF_MONTH);  
        Date   lastDate   =   calendar.getTime();  
        lastDate.setDate(lastDay);  
        return formatDate(lastDate);
    }

    /**
     * 返回传入日期上个月的最后一天
     * @param date null=currentDate
     * @param param 增量-1,上个月;0,当月;1,下个月(如此类推)
     * @return string(yyyy-MM-dd)
     */
    public static String getDateLastDayByParam(Date date,int param){
        Calendar calendar=Calendar.getInstance();
        if (date!=null) {
            calendar.setTime(date);
        }
        calendar.add(Calendar.MONTH, param);
        int   lastDay   =   calendar.getActualMaximum(Calendar.DAY_OF_MONTH);  
        Date   lastDate   =   calendar.getTime();  
        lastDate.setDate(lastDay);  
        return formatDate(lastDate);
    }

        

阅读更多

没有更多推荐了,返回首页