• 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");
  • 相关阅读:
    《android深入探索》第七章心得
    《android深入探索》第六章心得
    《android深入探索》第五章心得
    《android深入探索》第四章心得
    《android深入探索》第三章心得
    《android深入探索》第二章心得
    嵌入式Linux的调试技术
    硬件抽象层:HAL
    让开发板发出声音:蜂鸣器驱动
    LED将为我闪烁:控制发光二极管
  • 原文地址:https://www.cnblogs.com/pascall/p/12119131.html
Copyright © 2020-2023  润新知