java 获取时间问题

/***

* 获取当前时间的下个月

 * @param dateStr  时间       202012
 * @param format  时间格式    yyyyMM
 * @return                  202101
 */
public static String getFirstDayOfNextMonth(String dateStr,String format){
    SimpleDateFormat sdf = new SimpleDateFormat(format);
    try {
        Date date = sdf.parse(dateStr);
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.set(Calendar.DAY_OF_MONTH,1);
        calendar.add(Calendar.MONTH, 1);
        return sdf.format(calendar.getTime());
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return null;
}

//传过来的时间(202007)的最后一天

public static String getLastDayOfMonth(String yearMonth) {
    int year = Integer.parseInt(yearMonth.substring(0, 4));  //年
    int month = Integer.parseInt(yearMonth.substring(4, 6)); //月
    Calendar cal = Calendar.getInstance();
    // 设置年份
    cal.set(Calendar.YEAR, year);
    // 设置月份
    // cal.set(Calendar.MONTH, month - 1);
    cal.set(Calendar.MONTH, month); //设置当前月的上一个月
    // 获取某月最大天数
    //int lastDay = cal.getActualMaximum(Calendar.DATE);
    int lastDay = cal.getMinimum(Calendar.DATE); //获取月份中的最小值,即第一天
    // 设置日历中月份的最大天数
    //cal.set(Calendar.DAY_OF_MONTH, lastDay);
    cal.set(Calendar.DAY_OF_MONTH, lastDay - 1); //上月的第一天减去1就是当月的最后一天
    // 格式化日期
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
    return sdf.format(cal.getTime());
}

**

当前时间的上一个月

**
public static String getMeetMonth() {
SimpleDateFormat f = new SimpleDateFormat(“yyyyMM”);
//2、获取当前日期 方式二
Calendar c = Calendar.getInstance();
//3、获取当前日期增加1个月前的日期,
c.add(Calendar.MONTH, -1);
String format = f.format(c.getTime());
return format;
}

//当前时间的下一个月

public static String getOuttMonth() {
    SimpleDateFormat f = new SimpleDateFormat("yyyyMM");
    //2、获取当前日期 方式二
    Calendar c = Calendar.getInstance();
    //3、获取当前日期增加1个月前的日期,
    c.add(Calendar.MONTH, 1);
    String format = f.format(c.getTime());
    return format;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值