Date时间工具类 Date字符串互转
依赖
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.7</version>
</dependency>
package com.example.demo.until;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* @author
* @date
*/
public final class DateUtil {
private static final Logger logger = LoggerFactory.getLogger(DateUtil.class);
private DateUtil() {
}
/**
* 日期格式
**/
public interface DateFormat {
String HHMMSS = "HHmmss";
String HH_MM_SS = "HH:mm:ss";
String YYYYMMDD = "yyyyMMdd";
String YYYY_MM_DD = "yyyy-MM-dd";
String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
String YYYYMMDDHHMMSSSSS = "yyyyMMddHHmmssSSS";
String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
String YYMMDDHHMMSS = "yyMMddHHmmss";
}
/**
* 格式化日期 YYYY_MM_DD_HH_MM_SS 格式
*
* @param date
* @return
*/
public static final String format(Object date) {
return format(date, DateFormat.YYYY_MM_DD_HH_MM_SS);
}
/**
* 格式化日期
*
* @param date
* @param pattern 不填默认为yyyy-MM-dd HH:mm:ss 格式
* @return
*/
public static final String format(Object date, String pattern) {
if (date == null) {
return null;
}
if (pattern == null) {
return format(date);
}
return new SimpleDateFormat(pattern).format(date);
}
/**
* 获取当前日期格式为yyyy-MM-dd
*
* @return
*/
public static final String getDate() {
return format(new Date());
}
/**
* 获取日期时间 yyyy-MM-dd HH:mm:ss 格式
*
* @return
*/
public static final String getDateTime() {
return format(new Date(), DateFormat.YYYY_MM_DD_HH_MM_SS);
}
/**
* 获取日期
*
* @param pattern 传入定义格式参数
* @return
*/
public static final String getDateTime(String pattern) {
return format(new Date(), pattern);
}
/**
* 日期计算
*
* @param date
* @param field
* @param amount
* @return
*/
public static final Date addDate(Date date, int field, int amount) {
if (date == null) {
return null;
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(field, amount);
return calendar.getTime();
}
public static final Date parse(String date, String pattern) {
if (StringUtils.isNoneBlank(date) && StringUtils.isNoneBlank(pattern)) {
try {
return new SimpleDateFormat(pattern).parse(date);
} catch (ParseException e) {
logger.error("时间格式转换异常:{}",e.toString());
}
}
return null;
}
/**
* 获取1970年
*
* @return
*/
public static final Date getEarlyTime() {
Calendar cal = Calendar.getInstance();
cal.set(2019, Calendar.JANUARY, 1);
return cal.getTime();
}
/**
* 获取2100年
*
* @return
*/
public static final Date getEndTime() {
Calendar cal = Calendar.getInstance();
cal.set(2049, Calendar.DECEMBER, 31);
return cal.getTime();
}
}