专栏首页足球是圆的JDK8时间工具类

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")));
    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 类生命周期

    类从被加载到虚拟机内存中开始到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解...

    GreizLiao
  • CountDownLatch、CyclicBarrier和Semaphore使用

    CountDownLatch是用来线程计数的。等待一组线程全部执行完后再本线程继续执行。如:A线程需要等待B、C和D(由初始化CountDownLatch参数觉...

    GreizLiao
  • Mybatis处理动态占位符实现

    老乡式打招呼 -> “你好,我也是 xxx 的,我们是老乡呀!”(老乡见老乡,少来这套,来了就是深圳人)

    GreizLiao
  • 动态引用存储——集合&&精确的集合定义——泛型

    Java集合类主要由Collection和Map派生而出。Collection是一个接口,是高度抽象出来的集合,它包含了集合的基本操作和属性;Map是一个映射接...

    Noneplus
  • 《Monkey Java》课程2.x之巩固练习

    GitOPEN
  • Java的从浅至深绕坑而行的学习

    1 package day02; 2 /** 3 * 1:java初学习,避免面试时一些HR挖的坑。 4 * @author biexianshen...

    别先生
  • Java 8 日期时间 API

    java 8 通过发布新的Date-Time API (JSR 310)来进一步加强对日期和时间的处理。

    一滴水的眼泪
  • Java基础-day01-代码题

    Java基础day01-代码题巩固 ? ? 第一题:分析以下需求,并用代码实现 1.定义一个HelloWold类 2.在类中定义主方法 3.在主方法中使用输出语...

    Java帮帮
  • JAVA|Java方法的使用

    方法从简来说就是,把一个功能单独放在大括号内,当需要这个功能的时候我们直接调用方法,这样不仅实现了代码的复用,还解决了代码冗余的问题。

    算法与编程之美
  • Java底层-JMX

    引言部分摘自百度百科,实际上JMX是java5开始提供的对java应用进行监控的一套接口,或者我们也可以像理解JUC包一样理解JMX,把它当成一个框架。JMX这...

    每天学Java

扫码关注云+社区

领取腾讯云代金券