关于时间转换
第一时间我们会想到 Date,SimpleDateFormat,calendar进行转换;但
如果Date不格式化,打印出的日期可读性差。
使用SimpleDateFormat对时间进行格式化,但SimpleDateFormat是线程不安全的。
calendar是共享变量,并且calendar没有做线程安全控制,多线程同步调用时会发生时间错误;
此时 java 8退出全新的时间和日期工具类;
具体如下:
LocalDate(日期工具类:yyyy-MM-dd);
LocalTime (时间工具类:HH:mm:ss);
LocalDateTime(日期时间工具类:yyyy-MM-dd HH:mm:ss)
*切记对应转换,要不然会报错;
具体使用如下:
public class TimeUtil {
/**
* LocalDateTime 转long
* @param time
* @return
*/
public Long getDateTimeLong(LocalDateTime time) {
ZoneId zoneId = ZoneId.systemDefault();
Instant instant = time.atZone(zoneId).toInstant();
return instant.toEpochMilli();
}
/**
* LocalDate 转 long
* @param date
* @return
*/
public Long getDateLong(LocalDate date) {
LocalDateTime dateTime = date.atStartOfDay();
return getDateTimeLong(dateTime);
}
/**
* Loca