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
版权声明:本文为penriver原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。