import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.util.Date;
/**
* Author: CHENTAO
* Date: 2021/5/18
* Desc: 時間轉(zhuǎn)換工具類
* JDK8的DateTimeFormatter替換SimpleDateFormat允懂,因為SimpleDateFormat存在線程安全問題【如果在主程序的算子中不存在線程安全問題
* ,提取到這里就會存在線程安全問題衩匣,因為底層調(diào)用了format方法蕾总,修改了日期,涉及了線程安全問題】
*/
public class DateTimeUtil {
public final static DateTimeFormatterformatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
? ? //將日期類型的對象轉(zhuǎn)換為字符串
? ? public static StringdateTimeStr(Date date){
LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
? ? ? ? return formatter.format(localDateTime);
? ? }
// 字符串類型的日期轉(zhuǎn)為時間戳
? ? public static LongtoTs(String dateTimeStr){
LocalDateTime localDateTime = LocalDateTime.parse(dateTimeStr, formatter);
? ? ? ? long ts = localDateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli();
? ? ? ? return ts;
? ? }
}