又遇到新问题了,想要根据获取的日期,计算出前面两天的日期。网上找了半天,全都是写获取当天日期,然后计算昨天的日期,照葫芦画瓢也没改出来想要的,最后求助了开发同学。
先放上网上获取当天,计算日期的方法
import java.util.*;
import java.text.SimpleDateFormat;
Calendar cal =Calendar.getInstance();
cal.add(Calendar.DATE,-1);
yesterday=new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
log.info("昨天的日期:"+yesterday);
cal.add(Calendar.DATE,-1);这里-1就是往前推一天,如果忘后推一天就是1,看一下结果
下面写输入指定日期的方法
import java.util.*;
import java.text.SimpleDateFormat;
Calendar date =Calendar.getInstance();
szBatDate="20250101";
date.setTime(new SimpleDateFormat("yyyyMMdd").parse(szBatDate));
date.set(Calendar.DATE,date.get(Calendar.DATE)-2);
date2=new SimpleDateFormat("yyyyMMdd").format(date.getTime());
log.info("计算出日期:"+date2);
基本差不多,输了20250101,要计算出两天前的日期
计算出20241230。这个不止能计算天数,也能直接往前推月份,计算两个月前的日期
import java.util.*;
import java.text.SimpleDateFormat;
Calendar date =Calendar.getInstance();
szBatDate="20250101";
date.setTime(new SimpleDateFormat("yyyyMMdd").parse(szBatDate));
//date.set(Calendar.DATE,date.get(Calendar.DATE)-2);
//date2=new SimpleDateFormat("yyyyMMdd").format(date.getTime());
//log.info("计算出日期:"+date2);
date.set(Calendar.MONTH,date.get(Calendar.MONTH)-2);
date2=new SimpleDateFormat("yyyyMMdd").format(date.getTime());
log.info("计算出两个月前日期:"+date2);
计算两年前日期: