package com.oying.utils;
|
|
import java.sql.Timestamp;
|
import java.time.*;
|
import java.time.format.DateTimeFormatter;
|
import java.util.Date;
|
|
/**
|
* @author Z
|
* @date 2020/6/11 16:28
|
* @description JDK 8 新日期类 格式化与字符串转换 工具类
|
*/
|
public class DateUtil {
|
|
public static final DateTimeFormatter DFY_MD_HMS = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
public static final DateTimeFormatter DFY_MD = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
/**
|
* LocalDateTime 转时间戳
|
*
|
* @param localDateTime /
|
* @return /
|
*/
|
public static Long getTimeStamp(LocalDateTime localDateTime) {
|
return localDateTime.atZone(ZoneId.systemDefault()).toEpochSecond();
|
}
|
|
/**
|
* 时间戳转LocalDateTime
|
*
|
* @param timeStamp /
|
* @return /
|
*/
|
public static LocalDateTime fromTimeStamp(Long timeStamp) {
|
return LocalDateTime.ofEpochSecond(timeStamp, 0, OffsetDateTime.now().getOffset());
|
}
|
|
/**
|
* LocalDateTime 转 Date
|
* Jdk8 后 不推荐使用 {@link Date} Date
|
*
|
* @param localDateTime /
|
* @return /
|
*/
|
public static Date toDate(LocalDateTime localDateTime) {
|
return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
|
}
|
|
/**
|
* LocalDate 转 Date
|
* Jdk8 后 不推荐使用 {@link Date} Date
|
*
|
* @param localDate /
|
* @return /
|
*/
|
public static Date toDate(LocalDate localDate) {
|
return toDate(localDate.atTime(LocalTime.now(ZoneId.systemDefault())));
|
}
|
|
|
/**
|
* Date转 LocalDateTime
|
* Jdk8 后 不推荐使用 {@link Date} Date
|
*
|
* @param date /
|
* @return /
|
*/
|
public static LocalDateTime toLocalDateTime(Date date) {
|
return LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
|
}
|
|
/**
|
* 日期 格式化
|
*
|
* @param localDateTime /
|
* @param patten /
|
* @return /
|
*/
|
public static String localDateTimeFormat(LocalDateTime localDateTime, String patten) {
|
DateTimeFormatter df = DateTimeFormatter.ofPattern(patten);
|
return df.format(localDateTime);
|
}
|
|
/**
|
* 日期 格式化
|
*
|
* @param localDateTime /
|
* @param df /
|
* @return /
|
*/
|
public static String localDateTimeFormat(LocalDateTime localDateTime, DateTimeFormatter df) {
|
return df.format(localDateTime);
|
}
|
|
/**
|
* 日期格式化 yyyy-MM-dd HH:mm:ss
|
*
|
* @param localDateTime /
|
* @return /
|
*/
|
public static String localDateTimeFormatyMdHms(LocalDateTime localDateTime) {
|
return DFY_MD_HMS.format(localDateTime);
|
}
|
|
/**
|
* 获取当前时间
|
* @return 、
|
*/
|
public static Timestamp getTimeStamp() {
|
return Timestamp.valueOf(LocalDateTime.now());
|
}
|
|
/**
|
* 日期格式化 yyyy-MM-dd
|
*
|
* @param localDateTime /
|
* @return /
|
*/
|
public String localDateTimeFormatyMd(LocalDateTime localDateTime) {
|
return DFY_MD.format(localDateTime);
|
}
|
|
/**
|
* 字符串转 LocalDateTime ,字符串格式 yyyy-MM-dd
|
*
|
* @param localDateTime /
|
* @return /
|
*/
|
public static LocalDateTime parseLocalDateTimeFormat(String localDateTime, String pattern) {
|
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(pattern);
|
return LocalDateTime.from(dateTimeFormatter.parse(localDateTime));
|
}
|
|
/**
|
* 字符串转 LocalDateTime ,字符串格式 yyyy-MM-dd
|
*
|
* @param localDateTime /
|
* @return /
|
*/
|
public static LocalDateTime parseLocalDateTimeFormat(String localDateTime, DateTimeFormatter dateTimeFormatter) {
|
return LocalDateTime.from(dateTimeFormatter.parse(localDateTime));
|
}
|
|
/**
|
* 字符串转 LocalDateTime ,字符串格式 yyyy-MM-dd HH:mm:ss
|
*
|
* @param localDateTime /
|
* @return /
|
*/
|
public static LocalDateTime parseLocalDateTimeFormatyMdHms(String localDateTime) {
|
return LocalDateTime.from(DFY_MD_HMS.parse(localDateTime));
|
}
|
}
|