Java 标准库 API 系列之 java.time 包
一位 new Date()大法好的老顽固的真香之旅。 new Date()大法和new SimpleDateFormat()等API是从我2018年学习Java开始就一直在使用的处理日期和格式化日期的神器,直到几个月前我还是喜欢用他们,但是突然遇到一个比较复杂并且涉及用户分布在全球的报表需求时,我开始退坑了。。。 我开始使用java.time包下的API,真香~~~ 在 Java 8 之前,java.util.Date 和 java.util.Calendar是用于表示日期和时间的类。但是这两个工具类 存在很多问题,例如: Date 和Calender是可变的,这意味着它不是线程安全的。 java.util.Date 的时间表示只能精确到毫秒,不能精确到更小的时间单位。 API 设计相对复杂且容易出错。 Calender使用了许多常量和魔法值,不够直观。例如,月份从 0 开始计数,这与我们通常的习惯不同,容易导致错误。 Date 存储的时间是从 1970-01-01T00:00:00Z(即格林威治时间)开始经过的时间,但是它的 API 设计存在很多问题,例如 getYear()....