java 时间转换之LocalDate,LocalTime ,LocalDateTime

关于时间转换
第一时间我们会想到 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

猜你喜欢

转载自blog.csdn.net/Naide_S/article/details/106922618