JDK8时间工具类

Posted wolf-bin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDK8时间工具类相关的知识,希望对你有一定的参考价值。

JDK8添加了java.time包,提供了很多方便。
用得比较多的几个类:
Instant 在时间线上模拟单个瞬时点
Duration 以秒和纳秒为单位模拟一个数量或时间量。可以使用其他基于持续时间的单位访问它,例如分钟和小时
LocalDate 表示ISO-8601日历系统中没有时区的日期,例如 2019-03-31
LocalTime 表示ISO-8601日历系统中没有时区的时间,例如 16:50:30
LocalDateTime 表示ISO-8601日历系统中没有时区的日期时间,例如
2019-03-31T10:15:30
其中一些方法使用如下:
public static void main(String[] args) {
        //2019-03-31
        LocalDate localDate = LocalDate.now();
        System.out.println(localDate);
        // 15:56:36.232
        LocalTime localTime = LocalTime.now();
        System.out.println(localTime);
        // 2019-03-31T15:56:36.233
        LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println(localDateTime);
        // 2019-03-31T07:56:36.233Z
        Instant instant = Instant.now();
        System.out.println(instant);
        // 获取当前的时间戳(毫秒)
        long instantMilli = instant.toEpochMilli();
        System.out.println(instantMilli);
        // 一个小时后的时间=加了一个小时时间
        Instant plus1Hours = instant.plus(1, ChronoUnit.HOURS);
        // 计算两个时间之间的时间量
        long until = instant.until(plus1Hours, ChronoUnit.SECONDS);
        System.out.println(until);
        // 一个小时前的时间=减了一个小时
        Instant minus1Hours = instant.minus(1, ChronoUnit.HOURS);
        System.out.println(minus1Hours);
        // Instant转换成java.util.Date类型
        Date date = Date.from(instant);
        System.out.println(date);
        // java.util.Date转换成Instant类型
        Instant dateInstant = date.toInstant();
        System.out.println(dateInstant);
        // 当天开始时间
        LocalDateTime start = LocalDateTime.of(localDate, LocalTime.MIN);
        // 当天结束时间
        LocalDateTime end = LocalDateTime.of(localDate, LocalTime.MAX);
        System.out.println(start);
        System.out.println(end);
        // 计算两个时间之间的时间量度
        Duration duration = Duration.between(start, end);
        System.out.println(duration.toDays());
        System.out.println(duration.toHours());
        System.out.println(duration.toMinutes());
        System.out.println(duration.toMillis());
        System.out.println(duration.getSeconds());
        // 格式化初始指定时间
        System.out.println(LocalDateTime.parse("2019-03-01 11:10:12", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
    }

 

 

以上是关于JDK8时间工具类的主要内容,如果未能解决你的问题,请参考以下文章

elasticsearch代码片段,及工具类SearchEsUtil.java

DateUtil 工具类,基于JDK8+

JDK8中新的日期时间工具类真的很好用,还不清楚的快进来看看吧,建议收藏

JDK8中新的日期时间工具类真的很好用,还不清楚的快进来看看吧,建议收藏

9hutool实战:LocalDateTimeUtil(JDK8+中的LocalDateTime 工具类封装)

9hutool实战:LocalDateTimeUtil(JDK8+中的LocalDateTime 工具类封装)