根据当前日期获取一年前的日期

本文介绍了一种简单的Java方法,用于根据输入的6位日期字符串(如202107),计算并返回一年前的对应月份。通过使用`SimpleDateFormat`和`Calendar`类,实现日期减一的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近工作中需要根据当前日期获取到一年前的年份和月份,于是就写了这个方法。水平有限,勿喷!

/**
     *
     *  获取一年前的日期  效果:202107--》202008
     *
     *  @作者:     zktian
     *  @参数:     date6 //6位日期  如:202107
     *  @返回值:   String // 如:202008
     *
     *  @修改记录(修改时间、作者、原因):
     */
    public static String getLastyearAndmonth(String date6){
        SimpleDateFormat sd = new SimpleDateFormat("yyyyMM");
        String payoffYearMonth = date6;
        Integer thismonth = Integer.parseInt(payoffYearMonth.substring(4,6));
        Date currdate = null;
        try {
            currdate = sd.parse(payoffYearMonth);
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(currdate);
            if (thismonth -12 == 0){
                thismonth = 0;
                calendar.set(Calendar.MONTH,thismonth);
            }else{
                calendar.set(Calendar.MONTH,calendar.get(Calendar.MONTH)+1);
                calendar.set(Calendar.YEAR,calendar.get(Calendar.YEAR)-1);
            }
            return sd.format(calendar.getTime());
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值