zoukankan      html  css  js  c++  java
  • Java 8 (二) 新的时间API

     新的时间API

    一)时间线

    1.Instant对象:表示时间轴上的一个点,原点为1970-1-1的午夜。

    1)当前时间点:

    Instant.now()

    2)可以使用equals和compareTo方法来比较两个瞬时点

    3)计算两个瞬时点的距离:

    Instant start = Instant.now();
    sleep();
    Instant end = Instant.now();
    Duriation time = Duriation.between(start, end);
    long mills = time.toMills()

    2.Duration对象:表示一段时间。

    可以使用toNanos、toMills、toSeconds等得到以各种时间单位来表示的Duriation对象。

    注意Instant和Duration类都是final。

    二)本地日期

    LocalDate对象:不含时区信息,包含年份,月份,当月天数的日期。无法对应时间轴上的时间点。

    Period对象:用于计算本地日期时间段的对象。

    三)日期校正器

    如果要计算"每月的第三个周三"这样的日期,就可以使用日期校正器。

    TemporalAdjusters对象:含有校正日期的一系列方法。

    LocalDate.of(2018, 5, 18)
                    .with(TemporalAdjusters.next(DayOfWeek.MONDAY));

    也可以通过实现TemporalAdjuster接口来实现自己的校正器。

    四)本地时间

    LocalTime对象:表示一天中的某个时间

    LocalDateTime对象: 表示日期和时间

    五)带时区的时间

    ZonedDateTime:处理带时区时间的类

    ZonedId:存储时区

    带时区的时间可以转换为Instant对象。

    六)格式化和解析

    1.格式化

    DateTimeFormatter:

    String format = DateTimeFormatter.ISO_DATE_TIME.
                    withLocale(Locale.CHINESE).format(LocalDate.now());
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("E yyyy-MM-dd HH:mm");

    2.从字符串解析出日期时间:

    LocalDate.parse("1990-3-26");

    七)与遗留代码互操作

    在Java8中java.util.Date中新增了toInstant方法和静态from方法,用来转换Date和Instant。

    在java.util.GregorianCalendar类中添加了toZonedDateTime方法和静态from方法。

     

    Simple is important!
  • 相关阅读:
    python——多进程
    python—mariadb自动部署主从
    docker镜像的操作
    docker容器的操作
    docker——数据卷volume:文件共享
    数据库介绍
    数据库的基本配置与操作
    数据库的增删改
    ELK的搭建
    数据库的查——select的基本使用
  • 原文地址:https://www.cnblogs.com/Shadowplay/p/9035690.html
Copyright © 2011-2022 走看看