工具类:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.Calendar;
import java.util.Date;
import java.util.Objects;
/**
* 基于DateTimeFormatter的日期工具类
* @author zql
* @createTime 2020-11-29 22:21:46
* @version 1.1
* @modifyLog 1.1 优化代码
*
*/
public class DateUtil {
/**
* 屏蔽构造函数,避免被实例化
*/
private DateUtil() {}
/**
* 年,格式:yyyy
*/
private final static DateTimeFormatter YEAR = DateTimeFormatter.ofPattern("yyyy");
/**
* 月,格式:MM
*/
private final static DateTimeFormatter MONTH = DateTimeFormatter.ofPattern("MM");
/**
* 日,格式:dd
*/
private final static DateTimeFormatter DAY = DateTimeFormatter.ofPattern("dd");
/**
* 小时,格式:HH
*/
private final static DateTimeFormatter HOUR = DateTimeFormatter.ofPattern("HH");
/**
* 分钟,格式:mm
*/
private final static DateTimeFormatter MINUTE = DateTimeFormatter.ofPattern("mm");
/**
* 秒钟,格式:ss
*/
private final static DateTimeFormatter SECOND = DateTimeFormatter.ofPattern("ss");
/**
* 年月日,格式:yyyy-MM-dd
*/
private final static DateTimeFormatter YEAR_MONTH_DAY = DateTimeFormatter.ofPattern("yyyy-MM-dd");
/**
* 年月日,格式:yyyyMMdd
*/
private final static DateTimeFormatter YEAR_MONTH_DAY2 = DateTimeFormatter.ofPattern("yyyyMMdd");
/**
* 年月日时分秒,格式:yyyy-MM-dd HH:mm:ss
*/
private final static DateTimeFormatter DATE = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
/**
* 获取系统当前年份,YYYY格式
*
* @return
*/
public static String getYear() {
return LocalDate.now().format(DateUtil.YEAR);
}
/**
* 获取系统当前月份,MM格式
*
* @return
*/
public static String getMonth() {
return LocalDate.now().format(DateUtil.MONTH);
}
/**
* 获取系统当前日期,dd格式
*
* @return
*/
public static String getDay() {
return LocalDate.now().format(DateUtil.DAY);
}
/**
* 获取系统当前小时,HH格式
*
* @return
*/
public static String getHour() {
return LocalDateTime.now().format(DateUtil.HOUR);
}
/**
* 获取系统当前分钟,mm格式
*
* @return
*/
public static String getMinute() {
return LocalDateTime.now().format(DateUtil.MINUTE);
}
/**
* 获取系统当前秒钟,ss格式
*
* @return
*/
public static String getSecond() {
return LocalDateTime.now().format(DateUtil.SECOND);
}
/**
* 获取系统当前年月日,YYYY-MM-DD格式
*
* @return
*/
public static String getYearMonthDay() {
return LocalDate.now().format(DateUtil.YEAR_MONTH_DAY);
}
/**
* 获取系统当前年月日,YYYYMMDD格式
*
* @return
*/
public static String getYearMonthDay2() {
return LocalDate.now().format(DateUtil.YEAR_MONTH_DAY2);
}
/**
* 获取系统当前日期时间,YYYY-MM-DD HH:mm:ss格式
*
* @return
*/
public static String getDate() {
return LocalDateTime.now().format(DateUtil.DATE);
}
/**
* 根据传入的int数字获取系统当前时间
* <pre>
* 11 格式:yyyy-MM
* 12 格式:MM-dd
* 13 格式:yyyy-MM-dd
* 14 格式:yyyy-MM-dd HH:mm
* 15 格式:yyyy-MM-dd HH:mm:ss
* 21 格式:yyyyMM
* 22 格式:MMdd
* 23 格式:yyyyMMdd
* 24 格式:yyyyMMddHHmm
* 25 格式:yyyyMMddHHmmss
* 31 格式:yyyy/MM
* 32 格式:MM/dd
* 33 格式:yyyy/MM/dd
* 34 格式:yyyy/MM/dd HH:mm
* 35 格式:yyyy/MM/dd HH:mm:ss
* 41 格式:yyyy年MM月
* 42 格式:MM月dd日
* 43 格式:yyyy年MM月dd日
* 44 格式:yyyy年MM月dd日 HH时mm分
* 45 格式:yyyy年MM月dd日 HH时mm分ss秒
* 51 格式:HH:mm
* 52 格式:HH:mm:ss
* 53 格式:HH时mm分
* 54 格式:HH时mm分ss秒
* 默认格式yyyy-MM-dd
* </pre>
* @author zql
* @createTime 2020-11-29 22:22:10
*
* @param format 格式类型
* @return 自定义的日期格式,共有24种
*/
public static String getDateString(int format) {
return DateUtil.getDefinedFormat(DateUtil.getYear(), DateUtil.getMonth(), DateUtil.getDay(), DateUtil.getHour(), DateUtil.getMinute(), DateUtil.getSecond(), format);
}
/**
* 时间戳转换为日期格式,根据传入的int数字获取确定要转换成的格式
* <pre>
* 11 格式:yyyy-MM
* 12 格式:MM-dd
* 13 格式:yyyy-MM-dd
* 14 格式:yyyy-MM-dd HH:mm
* 15 格式:yyyy-MM-dd HH:mm:ss
* 21 格式:yyyyMM
* 22 格式:MMdd
* 23 格式:yyyyMMdd
* 24 格式:yyyyMMddHHmm
* 25 格式:yyyyMMddHHmmss
* 31 格式:yyyy/MM
* 32 格式:MM/dd
* 33 格式:yyyy/MM/dd
* 34 格式:yyyy/MM/dd HH:mm
* 35 格式:yyyy/MM/dd HH:mm:ss
* 41 格式:yyyy年MM月
* 42 格式:MM月dd日
* 43 格式:yyyy年MM月dd日
* 44 格式:yyyy年MM月dd日 HH时mm分
* 45 格式:yyyy年MM月dd日 HH时mm分ss秒
* 51 格式:HH:mm
* 52 格式:HH:mm:ss
* 53 格式:HH时mm分
* 54 格式:HH时mm分ss秒
* 默认格式yyyy-MM-dd
* </pre>
* @author zql
* @createTime 2020-11-29 22:24:04
*
* @param times 时间戳
* @param format 格式类型
* @return
*/
public static String getDateString(String times, int format) {
// 只计算到秒
times = times.length() > 10 ? times.substring(0, 10) : times;
long timeStamp = new Long(times);
LocalDateTime dateTime = LocalDateTime.ofEpochSecond(timeStamp, 0, ZoneOffset.ofHours(8));
String year = dateTime.format(DateUtil.YEAR);
String month = dateTime.format(DateUtil.MONTH);
String day = dateTime.format(DateUtil.DAY);
String hour = dateTime.format(DateUtil.HOUR);
String minute = dateTime.format(DateUtil.MINUTE);
String second = dateTime.format(DateUtil.SECOND);
return DateUtil.getDefinedFormat(year, month, day, hour, minute, second, format);
}
/**
* 把日期类型转换成字符串形式,根据传入的int数字获取确定要转换成的格式
* <pre>
* 11 格式:yyyy-MM
* 12 格式:MM-dd
* 13 格式:yyyy-MM-dd
* 14 格式:yyyy-MM-dd HH:mm
* 15 格式:yyyy-MM-dd HH:mm:ss
* 21 格式:yyyyMM
* 22 格式:MMdd
* 23 格式:yyyyMMdd
* 24 格式:yyyyMMddHHmm
* 25 格式:yyyyMMddHHmmss
* 31 格式:yyyy/MM
* 32 格式:MM/dd
* 33 格式:yyyy/MM/dd
* 34 格式:yyyy/MM/dd HH:mm
* 35 格式:yyyy/MM/dd HH:mm:ss
* 41 格式:yyyy年MM月
* 42 格式:MM月dd日
* 43 格式:yyyy年MM月dd日
* 44 格式:yyyy年MM月dd日 HH时mm分
* 45 格式:yyyy年MM月dd日 HH时mm分ss秒
* 51 格式:HH:mm
* 52 格式:HH:mm:ss
* 53 格式:HH时mm分
* 54 格式:HH时mm分ss秒
* 默认格式yyyy-MM-dd
* </pre>
* @author zql
* @createTime 2020-11-29 22:32:11
*
* @param date Date类型的日期
* @param format 格式类型
* @return 自定义的日期格式,共有24种
*/
public static String getDateString(Date date, int format) {
return DateUtil.getDateString(date.getTime() + "", format);
}
/**
* 将java.util.Date 转换为java8 的java.time.LocalDateTime,默认时区为东8区
* @author zql
* @createTime 2020-11-29 22:46:44
*
* @param date
* @return
*/
public static LocalDateTime dateToLocalDateTime(Date date) {
return date.toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime();
}
/**
* 将java8 的 java.time.LocalDateTime 转换为 java.util.Date,默认时区为东8区
* @author zql
* @createTime 2020-11-29 22:46:36
*
* @param localDateTime
* @return
*/
public static Date localDateTimeToDate(LocalDateTime localDateTime) {
return Date.from(localDateTime.toInstant(ZoneOffset.of("+8")));
}
/**
* 将java8 的 java.time.LocalDate 转换为 java.util.Date
* @author zql
* @createTime 2020-11-29 22:46:27
*
* @param localDate
* @return
*/
public static Date localDateToDate(LocalDate localDate) {
ZoneId zone = ZoneId.systemDefault();
Instant instant = localDate.atStartOfDay().atZone(zone).toInstant();
return Date.from(instant);
}
/**
* 字符串格式化转Date
* <pre>
* 支持格式
* yyyy-MM-dd
* yyyy-MM-dd HH:mm:ss
* </pre>
* @author zql
* @createTime 2020-11-29 22:46:11
*
* @param date
* @return
*/
public static Date stringFormatToDate(String date) {
int length = 10;
if (date.length() <= length) {
LocalDate ldt = LocalDate.parse(date, DateUtil.YEAR_MONTH_DAY);
return DateUtil.localDateToDate(ldt);
} else {
LocalDateTime ldt = LocalDateTime.parse(date, DateUtil.DATE);
return DateUtil.localDateTimeToDate(ldt);
}
}
/**
* 获取DateTimeFormatter的日期
* @author zql
* @createTime 2020-11-29 22:45:54
*
* @param date 传入的日期
* @param format 自定义格式,例:yyyy-MM-dd
* @return
*/
public static String getDateTimeFormatter(Date date,String format) {
DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern(format);
LocalDateTime ldt = DateUtil.dateToLocalDateTime(date);
return ldt.format(dateFormat);
}
/**
* 日期比较
* @author zql
* @createTime 2020-11-29 22:45:31
*
* @param startDate 开始日期,格式yyyy-MM-dd
* @param endDate 结束日期,格式yyyy-MM-dd
* @return 如果startDate>endDate,返回1,startDate=endDate返回0,startDate<endDate返回-1
*/
public static Integer compareDate(String startDate, String endDate) {
if (Objects.isNull(startDate) || Objects.isNull(endDate)) {
return null;
}
if (DateUtil.getSecond(startDate) > DateUtil.getSecond(endDate)) {
return 1;
}
if (DateUtil.getSecond(startDate) < DateUtil.getSecond(endDate)) {
return -1;
}
return 0;
}
/**
* 校验日期是否合法,校验格式:yyyy-MM-dd
* @author zql
* @createTime 2020-11-29 22:45:18
*
* @param date 日期字符串
* @return
*/
public static boolean isValidDate(String date) {
try {
DateUtil.YEAR_MONTH_DAY.parse(date);
return true;
} catch (DateTimeParseException e) {
// 如果throw,就说明格式不对
return false;
}
}
/**
* 校验日期是否合法,
* @author zql
* @createTime 2020-11-29 22:45:00
*
* @param date 日期字符串
* @param formatter 校验格式,例:yyyy-MM-dd
* @return
*/
public static boolean isValidDateFormat(String date, String formatter) {
DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern(formatter);
try {
dateFormat.parse(date);
return true;
} catch (DateTimeParseException e) {
// 如果throw,就说明格式不对
return false;
}
}
/**
* 格式为yyyy-MM-dd的时间字符串转为秒,默认时区为东8区
* @author zql
* @createTime 2020-11-29 22:44:50
*
* @param dateStr
* @return
*/
public static long getSecond(String dateStr) {
return LocalDateTime.parse(dateStr + " 00:00:00", DateUtil.DATE).toEpochSecond(ZoneOffset.of("+8"));
}
/**
* 时间相减得到年份,不够365天算0年
* @author zql
* @createTime 2020-11-29 22:44:28
*
* @param startDate 开始日期,格式yyyy-MM-dd
* @param endDate 结束日期,格式yyyy-MM-dd
* @return 返回相隔的年数,null表示格式不正确出现异常
*/
public static Integer getDiffYear(String startDate, String endDate) {
try {
int years = (int) (((DateUtil.getSecond(startDate) - DateUtil.getSecond(endDate)) / (60 * 60 * 24)) / 365);
return years;
} catch (Exception e) {
return null;
}
}
/**
* 时间相减得到天数
* @author zql
* @createTime 2020-11-29 22:44:09
*
* @param startDate 开始日期,格式yyyy-MM-dd
* @param endDate 结束日期,格式yyyy-MM-dd
* @return 返回相隔的天数,null表示格式不正确出现异常
*/
public static Integer getDaySub(String startDate, String endDate) {
try {
int days = (int) (DateUtil.getSecond(endDate) - DateUtil.getSecond(startDate)) / (24 * 60 * 60);
return days;
} catch (Exception e) {
return null;
}
}
/**
* 得到n天之后的日期
* @author zql
* @createTime 2020-11-29 22:44:01
*
* @param days
* @return
*/
public static String getAfterDayDate(int days) {
// java.util包
Calendar canlendar = Calendar.getInstance();
// 日期相减,如果不够减将会向月变动
canlendar.add(Calendar.DATE, days);
Date date = canlendar.getTime();
return DateUtil.getDateTimeFormatter(date, "yyyy-MM-dd HH:mm:ss");
}
/**
* 得到n天之后是周几
* @author zql
* @createTime 2020-11-29 22:43:49
*
* @param days
* @return
*/
public static String getAfterDayWeek(int days) {
// java.util包
Calendar canlendar = Calendar.getInstance();
// 日期相减,如果不够减将会向月变动
canlendar.add(Calendar.DATE, days);
Date date = canlendar.getTime();
return DateUtil.getDateTimeFormatter(date, "E");
}
/**
* 算出两个日期相差的月数
* @author zql
* @createTime 2020-11-29 22:43:33
*
* @param date1
* @param date2
* @return
*/
public static float monthSpace(String date1, String date2) {
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(DateUtil.stringFormatToDate(date1));
c2.setTime(DateUtil.stringFormatToDate(date2));
return DateUtil.getSpaceResult(c1, c2);
}
/**
* 算出两个日期相差的月数
* <pre>线程不安全</pre>
* @author zql
* @createTime 2020-11-29 22:42:51
*
* @param date1
* @param date2
* @param format
* @return
* @throws ParseException
*/
@Deprecated
public static float monthSpace(String date1, String date2, String format) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat(format);
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(sdf.parse(date1));
c2.setTime(sdf.parse(date2));
return DateUtil.getSpaceResult(c1, c2);
}
/**
* 两个日期相差的月数计算
* @author zql
* @createTime 2020-11-29 22:42:11
*
* @param c1
* @param c2
* @return
*/
private static float getSpaceResult(Calendar c1, Calendar c2) {
float year = 0;
float result = 0;
year = c2.get(Calendar.YEAR) - c1.get(Calendar.YEAR);
result = c2.get(Calendar.MONTH) - c1.get(Calendar.MONTH);
result = result + year * 12;
float num = (float) (Math.round(result * 100) / 100);
return Math.abs((float) (result == 0.0 ? 1.0 : num));
}
/**
* 一个日期减去一个月数,得到具体时间
* @author zql
* @createTime 2020-11-29 22:41:45
*
* @param time 时间
* @param n 要减去多少月
* @param format
* @return
*/
public static String reduceMonthSpace(String time, String n, String format) {
return DateUtil.getReduceMonthSpaceResult(DateUtil.stringFormatToDate(time), Integer.parseInt(n), format);
}
/**
* 一个日期减去一个月数,得到具体时间
* <pre>线程不安全</pre>
* @author:zql
* @createTime 2020-11-29 22:36:42
*
* @param time 时间
* @param n 要减去多少月
* @param format
* @return
* @throws ParseException
*/
@Deprecated
public static String reduceMonthSpace2(String time, String n, String format) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return DateUtil.getReduceMonthSpaceResult(sdf.parse(time), Integer.parseInt(n), format);
}
/**
* 一个日期减去一个月数计算过程
* @author zql
* @createTime 2020-11-29 22:36:42
*
* @param date
* @param amount
* @param format
* @return
*/
private static String getReduceMonthSpaceResult(Date date, int amount, String format) {
Calendar calender = Calendar.getInstance();
calender.setTime(date);
calender.add(Calendar.MONTH, amount);
String result = DateUtil.getDateTimeFormatter(calender.getTime(), format);
return result;
}
/**
* 自定义日期字符串
* <pre>
* 11 格式:yyyy-MM
* 12 格式:MM-dd
* 13 格式:yyyy-MM-dd
* 14 格式:yyyy-MM-dd HH:mm
* 15 格式:yyyy-MM-dd HH:mm:ss
* 21 格式:yyyyMM
* 22 格式:MMdd
* 23 格式:yyyyMMdd
* 24 格式:yyyyMMddHHmm
* 25 格式:yyyyMMddHHmmss
* 31 格式:yyyy/MM
* 32 格式:MM/dd
* 33 格式:yyyy/MM/dd
* 34 格式:yyyy/MM/dd HH:mm
* 35 格式:yyyy/MM/dd HH:mm:ss
* 41 格式:yyyy年MM月
* 42 格式:MM月dd日
* 43 格式:yyyy年MM月dd日
* 44 格式:yyyy年MM月dd日 HH时mm分
* 45 格式:yyyy年MM月dd日 HH时mm分ss秒
* 51 格式:HH:mm
* 52 格式:HH:mm:ss
* 53 格式:HH时mm分
* 54 格式:HH时mm分ss秒
* 默认格式yyyy-MM-dd
* </pre>
* @author zql
* @createTime 2020-11-29 22:34:33
*
* @param year 年
* @param month 月
* @param day 日
* @param hour 时
* @param minute 分
* @param second 秒
* @param format 格式类型
* @return
*/
private static String getDefinedFormat(String year, String month, String day, String hour, String minute, String second, int format) {
String dateStr = null;
switch (format) {
case 11:
dateStr = year + "-" + month;
break;
case 12:
dateStr = month + "-" +day;
break;
case 13:
dateStr = year + "-" + month + "-" +day;
break;
case 14:
dateStr = year + "-" + month + "-" +day + " " + hour +":"+minute;
break;
case 15:
dateStr = year + "-" + month + "-" +day + " " + hour +":" + minute + ":" + second;
break;
case 21:
dateStr = year + month;
break;
case 22:
dateStr = month + day;
break;
case 23:
dateStr = year + month + day;
break;
case 24:
dateStr = year + month +day + hour + minute;
break;
case 25:
dateStr = year + month + day + hour + minute + second;
break;
case 31:
dateStr = year + "/" + month;
break;
case 32:
dateStr = month + "/" +day;
break;
case 33:
dateStr = year + "/" + month + "/" +day;
break;
case 34:
dateStr = year + "/" + month + "/" +day + " " + hour +":"+minute;
break;
case 35:
dateStr = year + "/" + month + "/" +day + " " + hour +":" + minute + ":" + second;
break;
case 41:
dateStr = year + "年" + month + "月";
break;
case 42:
dateStr = month + "月" +day + "日";
break;
case 43:
dateStr = year + "年" + month + "月" +day + "日";
break;
case 44:
dateStr = year + "年" + month + "月" +day + "日" +" "+ hour + "时" + minute +"分";
break;
case 45:
dateStr = year + "年" + month + "月" +day + "日" +" "+ hour + "时" + minute + "分" +second+ "秒";
break;
case 51:
dateStr = hour + ":" + minute;
break;
case 52:
dateStr = hour + ":" + minute + ":" +second;
break;
case 53:
dateStr = hour + "时" + minute + "分";
break;
case 54:
dateStr = hour + "时" + minute + "分" +second + "秒";
break;
default:
dateStr = year + "-" +month+ "-" + day;
}
return dateStr;
}
}
测试类:
import java.text.ParseException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import org.junit.Test;
/**
* 基于DateTimeFormatter的日期工具测试类
*
* @author zql
* @createTime 2021-01-02 0:46
* @version 1.0
* @modifyLog
*/
public class DateUtilTest {
@Test
public void getYear() {
System.out.println("年:" + DateUtil.getYear());
}
@Test
public void getMonth() {
System.out.println("月:" + DateUtil.getMonth());
}
@Test
public void getDay() {
System.out.println("日:" + DateUtil.getDay());
}
@Test
public void getHour() {
System.out.println("时:" + DateUtil.getHour());
}
@Test
public void getMinute() {
System.out.println("分:" + DateUtil.getMinute());
}
@Test
public void getSecond() {
System.out.println("秒:" + DateUtil.getSecond());
System.out.println("秒:" + DateUtil.getSecond("2020-12-20"));
}
@Test
public void getYearMonthDay() {
System.out.println("年月日:" + DateUtil.getYearMonthDay());
}
@Test
public void getYearMonthDay2() {
System.out.println("年月日:" + DateUtil.getYearMonthDay2());
}
@Test
public void getDate() {
System.out.println("年月日时分秒:" + DateUtil.getDate());
}
@Test
public void getDateString() {
System.out.println(DateUtil.getDateString(45));
String str = String.valueOf(System.currentTimeMillis());
System.out.println(DateUtil.getDateString(str,35));
System.out.println(DateUtil.getDateString(new Date(), 25));
}
@Test
public void dateToLocalDateTime() {
Date date = new Date(1577812341000L);
LocalDateTime localDateTime = DateUtil.dateToLocalDateTime(date);
System.out.println(localDateTime);
}
@Test
public void localDateTimeToDate() {
LocalDateTime localDateTime = LocalDateTime.now();
Date date = DateUtil.localDateTimeToDate(localDateTime);
System.out.println(date);
}
@Test
public void localDateToDate() {
LocalDate localDate = LocalDate.now();
Date date = DateUtil.localDateToDate(localDate);
System.out.println(date);
}
@Test
public void stringFormatToDate() {
String str1 = "2021-01-01";
Date date1 = DateUtil.stringFormatToDate(str1);
System.out.println(date1.toString());
String str2 = "2020-01-01 01:01:01";
Date date2 = DateUtil.stringFormatToDate(str2);
System.out.println(date2);
}
@Test
public void getDateTimeFormatter() {
System.out.println(DateUtil.getDateTimeFormatter(new Date(),"yyyyMMdd"));
System.out.println(DateUtil.getDateTimeFormatter(new Date(),"yyyy-MM-dd"));
System.out.println(DateUtil.getDateTimeFormatter(new Date(),"yyyy-MM-dd HH:mm"));
System.out.println(DateUtil.getDateTimeFormatter(new Date(),"yyyy-MM-dd HH:mm:ss"));
}
@Test
public void compareDate() {
System.out.println(DateUtil.compareDate("2019-11-19", "2019-04-19"));
System.out.println(DateUtil.compareDate("2019-04-19", "2019-04-19"));
System.out.println(DateUtil.compareDate("2019-04-19", "2019-11-19"));
}
@Test
public void isValidDate() {
System.out.println(DateUtil.isValidDate("2019-11-19"));
System.out.println(DateUtil.isValidDate("2019-11>19"));
}
@Test
public void isValidDateFormat() {
System.out.println(DateUtil.isValidDateFormat("2019>11>19", "yyyy>mm>dd"));
}
@Test
public void getDiffYear() {
System.out.println(DateUtil.getDiffYear("2010-01-08","2019-01-02"));
System.out.println("时间相减出错:" + DateUtil.getDiffYear("2019","2019-01-02"));
}
@Test
public void getDaySub() {
System.out.println(DateUtil.getDaySub("2020-12-20", "2020-12-30"));
}
@Test
public void getAfterDayDate() {
System.out.println(DateUtil.getAfterDayDate(7));
}
@Test
public void getAfterDayWeek() {
System.out.println(DateUtil.getAfterDayWeek(7));
}
@SuppressWarnings("deprecation")
@Test
public void monthSpace() throws ParseException {
System.out.println(DateUtil.monthSpace("2020-02-19", "2020-01-01"));
System.out.println(DateUtil.monthSpace("2020-02-19", "2020-01-01", "yyyy-MM-dd"));
}
@Test
public void reduceMonthSpace() {
System.out.println(DateUtil.reduceMonthSpace("2019-11-19 12:12:12", "2", "yyyy-MM-dd HH:mm"));
}
@SuppressWarnings("deprecation")
@Test
public void reduceMonthSpace2() throws ParseException {
System.out.println(DateUtil.reduceMonthSpace2("2019-11-19", "2", "yyyy-MM-dd"));
}
}