• 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")));
        }
     
  • 相关阅读:
    boost 1.49在vs 2005下编译的方法
    Mathematics for Computer Graphics
    字符串和字符数组长度
    四个月的学习心得
    话说stm32f10x-FSMC的配置与频率
    一些笔试题,大家都来围观呀~
    简单的生产者消费者-(windows下)
    STM32f10x下软件模拟IIc读写si5326问题
    usb枚举阶段(转载)
    STM32 GPIOB_PIN3复用功能小分析
  • 原文地址:https://www.cnblogs.com/wolf-bin/p/10632283.html
Copyright © 2020-2023  润新知