1、java.timeLocalDateTime
LocalDateTime是一个不可变的日期-时间对象,它表示一组日期-时间,默认格式是yyyy-MM-dd-HH-mm-ss.zzz,它提供了一个工厂方法,接受LocalDate和LocalTime输入参数,创建实例。
![87a7e8c44f8c83c4fa9e5e53f5b74700.png](https://img-blog.csdnimg.cn/img_convert/87a7e8c44f8c83c4fa9e5e53f5b74700.png)
如果提供了无效的参数去创建日期/时间,那么系统会抛出java.time.DateTimeException,是一种运行时异常,并不需要显式捕获。
能够通过传入ZoneId得到日期/时间数据,可以从javadoc中得到支持的ZoneId的列表。
2、java.time.instant
用在机器可读的时间格式上,以Unix时间戳的形式存储日期时间。
![238032f7997c376d8ee4b1dbc36f4363.png](https://img-blog.csdnimg.cn/img_convert/238032f7997c376d8ee4b1dbc36f4363.png)
3、日期API工具
大多数日期/时间API类都实现了一系列工具方法:加/减天数、周数、月份数等等。还有其他的工具方法能够使用TemporalAdjuster调整日期,并计算两个日期间的周期。
![0bb7d8c70504aa83e54157a9d37e29c6.png](https://img-blog.csdnimg.cn/img_convert/0bb7d8c70504aa83e54157a9d37e29c6.png)
4、解析和格式化
将一个日期格式转换为不同的格式,之后解析一个字符串,得到日期时间对象。
![5d1ceaed148a43669fae6e3f1d334df5.png](https://img-blog.csdnimg.cn/img_convert/5d1ceaed148a43669fae6e3f1d334df5.png)
5、旧的日期时间支持
旧的类在很多地方用,因此要做到向下兼容。所以也有若干工具方法帮助我们将旧的类转换为新的类
![9f32ccf7467eee1d66af11b88e4e2402.png](https://img-blog.csdnimg.cn/img_convert/9f32ccf7467eee1d66af11b88e4e2402.png)
旧的TImeZone和GregorianCalender类的toString方法太麻烦了。