众所周知,Java 8之前的日期时间API非常糟糕,故在Java 8中重新设计了日期、时间类。具体地,包括LocalDate、LocalTime、LocalDateTime等
LocalDate
LocalDate类只负责处理日期,其不包含时区
实例化
其提供了多种形式的静态方法用于创建实例,示例如下所示
1 | /** |
从测试结果不难看出,其toString方法更加人性化
调整日期
在修改日期方面,支持通过链式调用的方式对日期进行加、减
1 | /** |
测试结果如下所示
同样,还支持按绝对量进行日期的修改调整
1 | /** |
测试结果如下所示
比较日期
当比较两个日期、计算日期间隔也非常方便
1 | /** |
测试结果如下所示
格式化
在格式化方面,借助于DateTimeFormatter可以很方便实现
1 | /** |
测试结果如下所示
LocalTime
LocalTime类只负责处理时间信息
实例化
其提供了多种形式的静态方法用于创建实例,示例如下所示
1 | /** |
测试结果如下所示
调整时间
在修改时间方面,支持通过链式调用的方式对时间进行加、减
1 | /** |
测试结果如下所示
同样,还支持按绝对量进行时间的修改调整
1 | /** |
测试结果如下所示
比较时间
当比较两个时间、计算时间间隔也非常方便
1 | /** |
测试结果如下所示
格式化
在格式化方面,借助于DateTimeFormatter可以很方便实现
1 |
|
测试结果如下所示
LocalDateTime
LocalDateTime类则是LocalDate、LocalTime类的组合,可以实现同时表达日期、时间
实例化
实例化方式如下所示
1 | /** |
测试结果如下所示
调整
日期、时间修改同样支持绝对、相对两种形式
1 |
|
测试结果如下所示
比较
日期比较也是类似地
1 |
|
测试结果如下所示
格式化
在格式化方面,借助于DateTimeFormatter可以很方便实现
1 |
|
测试结果如下所示