zoukankan      html  css  js  c++  java
  • JDK 8 中时间API

    一、分类

    1、时间对象

    • TemporalAccessor: 顶级接口
    • Temporal: 子接口,继承TemporalAccessor接口
    • Era: 子接口,继承TemporalAccessor接口
    • Instant: 时间戳,有时区(UTC时区),实现Temporal、TemporalAdjuster接口
    • LocalDate: 日期,无指定时区,实现Temporal、TemporalAdjuster接口
    • LocalTime: 时间,指定时区,实现Temporal、TemporalAdjuster接口
    • LocalDateTime: 日期时间,指定时区,实现Temporal、TemporalAdjuster接口
    • OffsetTime: 偏移后时间,指定时区,实现Temporal、TemporalAdjuster接口
    • OffsetDateTime: 偏移后日期时间,无指定时区,实现Temporal、TemporalAdjuster接口
    • ZonedDateTime: 时区日期时间,无指定时区,实现Temporal、TemporalAdjuster接口

    2、时区、偏移量

    • ZoneId: 时区
    • ZoneOffset: 时区偏移量

    3、工具类

    • TemporalAdjuster: 功能型接口
    • TemporalAdjusters: 工具类,每个方法中生成一个匿名类,实现了TemporalAdjuster接口
    // 下一个周几
    public static TemporalAdjuster next(DayOfWeek dayOfWeek) {
        int dowValue = dayOfWeek.getValue();
        return (temporal) -> {
            int calDow = temporal.get(DAY_OF_WEEK);
            int daysDiff = calDow - dowValue;
            return temporal.plus(daysDiff >= 0 ? 7 - daysDiff : -daysDiff, DAYS);
        };
    }
    // 下一个周一时间
    LocalDate ld = LocalDate.now();
    System.out.println("LocalDate: " + ld);
    ld = ld.with(TemporalAdjusters.next(DayOfWeek.MONDAY));
    System.out.println("LocalDate next TUESDAY: " + ld);
    
    // LocalDate: 2019-12-30
    // LocalDate next MONDAY: 2020-01-06
    // with方法内部调用了匿名类的adjustInto方法
    public LocalDate with(TemporalAdjuster adjuster) {
        // optimizations
        if (adjuster instanceof LocalDate) {
            return (LocalDate) adjuster;
        }
        return (LocalDate) adjuster.adjustInto(this);
    }

    4、日期格式化

    • DateTimeFormatter
    DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSS");
  • 相关阅读:
    用电脑Python控制Arduino
    Arduino-LiquidCrystal_I2C 液晶库
    Arduino通讯串口
    nginx statistics in multi-workers
    Nginx RTMP 模块 nginx-rtmp-module 指令详解
    windows下搭建nginx-rtmp服务器
    超实用压力测试工具-ab工具
    (总结)Nginx配置文件nginx.conf中文详解
    NGINX conf 配置文件中的变量大全 可用变量列表及说明
    「自己开发直播」实现nginx-rtmp-module多频道输入输出与权限控制
  • 原文地址:https://www.cnblogs.com/pascall/p/12119131.html
Copyright © 2011-2022 走看看