加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java8时间处理

发布时间:2020-12-15 07:54:41 所属栏目:Java 来源:网络整理
导读:Java时间处理 Java8新增的时间处理API 常用时间处理方法的问题 java.util.Date 和 java.util.Calendar 不是线程安全的类 SimpleDateFormat 也是非线程安全的类 Calendar 获取月份时需要计算,因为月份从0开始 日期/时间类 LocalDate 与 LocalTime LocalDate
Java时间处理

Java8新增的时间处理API

常用时间处理方法的问题

  1. java.util.Datejava.util.Calendar不是线程安全的类
  2. SimpleDateFormat也是非线程安全的类
  3. Calendar获取月份时需要计算,因为月份从0开始

日期/时间类

  • LocalDateLocalTime

    LocalDate类表示一个具体的日期,但不包含具体时间,也不包含时区信息,LocalTime表示一个具体的时间

    LocalDate localDate = LocalDate.of(2017,1,4);     // 初始化一个日期:2017-01-04
    LocalTime localTime = LocalTime.of(17,23,52);     // 初始化一个时间:17:23:52
  • LocalDateTime

    上述两个类的结合体

    LocalDateTime ldt1 = LocalDateTime.of(2017,Month.JANUARY,4,17,52);
  • Instant

    Instant表示一个时间戳,精确到纳秒

    Instant instant = Instant.ofEpochSecond(120,100000);
    //参数:seconds表示从1970-01-01 00:00:00开始到现在的秒数,nanos表示纳秒部分(nanos的值不会超过999,999,999)
  • Duration

    Duration表示一个时间段,精确到纳秒

    LocalDateTime from = LocalDateTime.of(2017,5,10,7,0);    // 2017-01-05 10:07:00
    LocalDateTime to = LocalDateTime.of(2017,Month.FEBRUARY,0);     // 2017-02-05 10:07:00
    Duration duration = Duration.between(from,to);     // 表示从 2017-01-05 10:07:00 到 2017-02-05 10:07:00 这段时间

日期格式化

  • DateTimeFormatter类处理日期格式化
  • java.time.ZoneId类处理时区

参考链接

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读