多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### java.util.Date类缺陷 在Java8之前,所有关于时间和日期的API都存在各种使用方面的缺陷,主要有: * Java的java.util.Date和java.util.Calendar类易用性差,不支持时区,而且他们都不是线程安全的; * 用于格式化日期的类DateFormat被放在java.text包中,它是一个抽象类,所以我们需要实例化一个SimpleDateFormat对象来处理日期格式化,并且DateFormat也是非线程安全,这意味着如果你在多线程程序中调用同一个DateFormat对象,会得到意想不到的结果。 * 对日期的计算方式繁琐,而且容易出错,因为月份是从0开始的,从Calendar中获取的月份需要加一才能表示当前月份。 ### JAVA8日期及时间API * LocalDate:该类的实例是一个不可变对象,它只提供了简单的日期,并不含当天的时间信息,也不附带任何与时区相关的信息 * LocalDate * LocalTime * LocalDateTime * ZonedDateTime:时区时间 * Instant * Duration:主要用于以秒和纳秒衡量时间的长短 * Period * Temporal接口定义了如何读取和操纵为时间建模的对象的值 * TemporalField * DateTimeFormatter:时间格式化工具类