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");
  • 相关阅读:
    为 Jenkins 配置 .NET 持续集成环境
    树莓派连接GPS模块
    杂记
    大型网站架构系列:电商网站架构案例
    我的心博客。
    555555555555111
    powershell 环境变量只有当前会话起作用问题
    powershell 下独立silent 安装 浏览器问题
    python编码格式
    scss教程推荐
  • 原文地址:https://www.cnblogs.com/pascall/p/12119131.html
Copyright © 2011-2022 走看看