zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Java8日期时间类介绍及工具类源码【满足日常开发绝大部分需求】

日期源码工具开发 介绍 时间 需求 日常
2023-09-11 14:16:24 时间

java8日期相关类介绍

在Java 8以前,日期和时间处理一直被广大java程序员抱怨太难用,缺点如下:

  • java.util和java.sql中,都包含Date类
  • 如果要进行时间格式化,还需要java.text.DateFormat、SimpleDateFormat类处理。
  • java.util.Date中既包含了日期,又包含了时间
  • 将 java.util.Date 设定为可变类型,以及 SimpleDateFormat 的非线程安全使其应用非常受限

所以java8新的日期和时间库,特点如下

  • 很好的解决了以前日期和时间类的很多弊端
  • 同时借鉴了第三方日期库joda很多的优点
  • 所有日期和时间API都是不可变类并且线程安全

在java8中,java.time包下主要包含下面几个主要的类:

  • Instant:时间戳,表示瞬时实例
  • Duration:持续时间,时间差
  • LocalDate:只包含日期,比如:2016-10-20
  • LocalTime:只包含时间,比如:23:12:10
  • LocalDateTime:包含日期和时间,比如:2016-10-20 23:14:21
  • Period:时间段 (很用时有坑,需要注意)
  • ZoneOffSet 和 ZoneId 类,使得解决时区问题更为简便
  • Zone