import org.apache.commons.lang3.time.DateUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.junit.Test;
import java.util.Calendar;
import java.util.Date;
/**
* @author
* @date 2019-11-28 13:30
*/
@Slf4j
public class MyStudy {
@Test
public void test() {
//今天 23:59:59
String today = dateFormat(0);
//明天 23:59:59
String tomorrow = dateFormat(1);
//昨天 23:59:59
String acquired = dateFormat(2);
//未来7天后
String sevenDaysLater = dateFormat(7);
//昨天 23:59:59
String yesterday = dateFormat(-1);
//前天 23:59:59
String TheDayBeforeYesterday = dateFormat(-2);
//7天前 23:59:59
String sevenDaysAgo = dateFormat(-7);
/*
* 指定具体时间基础上增加天数
*/
String customizeateFormat = "2019-11-28 13:46:00";
Integer days = 1;//明天
String customizeDateFormat = customizeDateFormat(customizeateFormat, days);
log.info("today-----> {}", today);
log.info("tomorrow-----> {}", tomorrow);
log.info("acquired-----> {}", acquired);
log.info("sevenDaysLater-----> {}", sevenDaysLater);
log.info("yesterday-----> {}", yesterday);
log.info("TheDayBeforeYesterday-----> {}", TheDayBeforeYesterday);
log.info("sevenDaysAgo-----> {}", sevenDaysAgo);
log.info("customizeDateFormat -----> {}", customizeDateFormat);
}
//获取给定天数后的时间
public static String dateFormat(Integer days) {
Date date = DateUtils.addDay(new Date(), days);
Calendar calendar = Calendar.getInstance();
calendar.set(DateUtils.getYear(date), DateUtils.getMonth(date), DateUtils.getDay(date), 23, 59, 59);
calendar.set(DateUtils.getYear(date), DateUtils.getMonth(date), DateUtils.getDay(date), DateUtils.getHour(date), DateUtils.getMinute(date), DateUtils.getSecond(date));
date = calendar.getTime();
String dateFormat = DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss");
return dateFormat;
}
//获取指定的时间基础上增加天数后时间
public static String customizeDateFormat(String customizeateDate, Integer days) {
Date toDate = DateUtils.StringToDate(customizeateDate);
Date date = DateUtils.addDay(toDate, days);
Calendar calendar = Calendar.getInstance();
calendar.set(DateUtils.getYear(date), DateUtils.getMonth(date), DateUtils.getDay(date), DateUtils.getHour(date), DateUtils.getMinute(date), DateUtils.getSecond(date));
date = calendar.getTime();
String dateFormat = DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss");
return dateFormat;
}
}
运行结果:
INFO 2019-11-28 13:48:34,251 [main] MyStudy > today-----> 2019-12-28 13:48:33
INFO 2019-11-28 13:48:34,261 [main] MyStudy > tomorrow-----> 2019-12-29 13:48:34
INFO 2019-11-28 13:48:34,261 [main] MyStudy > acquired-----> 2019-12-30 13:48:34
INFO 2019-11-28 13:48:34,261 [main] MyStudy > sevenDaysLater-----> 2020-01-05 13:48:34
INFO 2019-11-28 13:48:34,262 [main] MyStudy > yesterday-----> 2019-12-27 13:48:34
INFO 2019-11-28 13:48:34,262 [main] MyStudy > TheDayBeforeYesterday-----> 2019-12-26 13:48:34
INFO 2019-11-28 13:48:34,262 [main] MyStudy > sevenDaysAgo-----> 2019-12-21 13:48:34
INFO 2019-11-28 13:48:34,262 [main] MyStudy > customizeDateFormat -----> 2019-12-29 13:46:00