> 文档中心 > Java中 格式化 yyyy-MM计算减去一个月或者加上一个月的准确计算

Java中 格式化 yyyy-MM计算减去一个月或者加上一个月的准确计算

传参2022-02

 /     * 获取2022-03 过去一个月和过去一年的时间 并返回 2022-03 格式     * @param month 需要修改的时间     * @return 返回 beforeMonth 过去一个月 beforeYear 过去一年的时间     */    @SneakyThrows    public Map getbeFore(String month){    //定义转化的时间格式 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat ym=new SimpleDateFormat("yyyy-MM"); Date date=null; try { //加上15好以计算下个月     date=sdf.parse(month+"-15");     System.out.println(date);     //打印结果:Tue Feb 15 00:00:00 GMT+08:00 2022 } catch (ParseException e) {     e.printStackTrace();     throw  new Exception("转换时间有误"); } //计算过去的一个月即减去一个月的结果 Calendar calendar=Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.MONTH,-1); String beforeMonth =ym.format(calendar.getTime()); //计算过去的一年即减去一个年的结果 Calendar calendar1=Calendar.getInstance(); calendar1.setTime(date); calendar1.add(Calendar.YEAR,-1); String beforeYear =ym.format(calendar1.getTime());//减去一个月 System.out.println("beforeMonth:"+beforeMonth); //减去一年 System.out.println("beforeYear:"+beforeYear);//进入map格式,返回 Map<String,String> beforeTime=new HashMap<>(); beforeTime.put("beforeMonth",beforeMonth); beforeTime.put("beforeYear",beforeYear); return  beforeTime;    }

打印及结果

Tue Feb 15 00:00:00 GMT+08:00 2022beforeMonth:2022-01-15beforeYear:2021-02-15

希望可以帮助你们解决问题,返回的格式可以自由更改

毒蛇网