获取N天前的日期
1.第一种
获取一天前现在的时间
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
import java.util.Date;
LocalDateTime time = LocalDateTime.now();
int num = 1;
time = time.minus(num, ChronoUnit.DAYS);
System.out.println(time);
Date date = Date.from(time.atZone(ZoneId.systemDefault()).toInstant());
System.out.println(date);
2.第二种
获取一天前现在的时间
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
int num = -1;
calendar.add(Calendar.DATE, num);
SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = sj.format(calendar.getTime());
System.out.println(format); //String 类型
Date date = new Date();
try {
date = sj.parse(format);
System.out.println(date); //Date类型
} catch (ParseException e) {
e.printStackTrace();
}
获取上月日期
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
LocalDate date = LocalDate.now();
date = date.minusMonths(1);
DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM");
String format = formatters.format(date);
System.out.println(format);
日期加减 日期类型转换
/**
* 日期加减
*
* @return
*/
private Date daysUtils(Date date, int num) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);//设置起时间
//calendar.add(Calendar.YEAR, 1);//增加一年
//calendar.add(Calendar.MONTH, n);//增加一个月
calendar.add(Calendar.DATE, num);//当前时间加减天
date = calendar.getTime();
//System.out.println("输出::"+calendar.getTime());//Date类型
/*//日期转换
SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd");
String format = sj.format(calendar.getTime());
//System.out.println(format); //String 类型
try {
date = sj.parse(format);
//System.out.println(date); //Date类型
} catch (ParseException e) {
logger.info("日期转换异常");
}*/
return date;
}