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
相关文章
- Java 8 新特性-菜鸟教程 (8) -Java 8 日期时间 API
- 日期操作类--Date类
- Windows 禁用 security center,Windows Defender,打开文件安全警告, 切换到系统到英文,修改日期格式,禁用自动更新
- mysql日期类型默认值'0000-00-00'容错处理
- Java 日期时间与正则表达式,超详细整理,适合新手入门
- SwiftUI4 iOS16 新增组件之 03 MultiDatePicker多日期限定日期选择组件(WWDC 2022教程含源码)》
- SwiftUI 动画之标签云进入退出动画效果中文日期(教程含源码)
- SwiftUI 实战之紧凑版时间和日期选择组件(UIDatePicker教程含源码)
- Date日期对象
- 【原创】Js:日期处理(日期格式必须【yyyy-mm-dd】才能转成long的毫秒!其他的不是【年-月-日】的格式,结果会是【NaN】)
- 日期操作大全
- C#日期格式化
- Java小白入门200例61之java中Date日期类型的大小比较
- 常用方法 读取 Excel的单位格 为 日期格式 的数据