读Java实战(第二版)笔记06_新的日期和时间API
1.Java 8之前的库对日期和时间的支持非常不理想2.TemporalField接口2.1.定义了如何访问temporal对象某个字段的值的接口2.2.ChronoField枚举2.2.1.实现TemporalField接口3.LocalDate类3.1.实例是一个不可变对象3.2.只提供了简单的日期3.3.不含当天的时间信息3.4.不附带任何与时区相关的信息3.5.LocalDate.of3.5.1.静态工厂方法of创建一个LocalDate实例3.6.LocalDate.now()3.6.1.从系统时钟中获取当前的日期3.7.LocalDate.parse3.7.1.通过解析代表日期的字符串创建3.8.getYear()3.9.getMonthValue()3.10.getDayOfMonth()3.11.建议使用4.ChronoLocalDate接口4.1.尽量避免使用4.1.1.开发者的代码中会做一些假设4.1.2.这些假设在不同的日历系统中,有可能不成立4.2.将程序的输入或者输出本地化时使用5.历法系统5.1.ISO-8601的历法系统5.1.1.世界文明日历系统的事实标准5.2.ThaiBuddhistDate5.3.MinguoDate5.4.JapaneseDate5.5.HijrahDate5.5.1.伊斯兰教日历5.5.2.最复杂5.5.3.乌姆库拉(Umm Al-Qura)变量5.5.4.只能首先可见于沙特阿拉伯6.LocalTime类6.1.LocalTime.of6.1.1.静态工厂方法of创建一个LocalTime实例6.2.LocalTime.parse6.2.1.通过解析代表时间的字符串创建6.3.getHour()6.4.getMinute()6.5.getSecond()7.DateTimeFormatter类7.1.实例定义了如何格式化一个日期或者时间对象7.2.字符串参数无法被解析为合法的LocalDate或LocalTime对象7.2.1.DateTimeParseException异常8.LocalDateTime类8.1.LocalDate和LocalTime的合体8.2.同时表示了日期和时间8.3.不带有时区信息8.4.toLocalDate8.4.1.从LocalDateTime中提取LocalDate8.5.toLocalTime8.5.1.从LocalDateTime中提取LocalTime8.6.atTime8.6.1.向LocalDate传递一个时间对象8.7.atDate8.7.1.向LocalTime传递一个日期对象的方式9.Instant类9.1.java.time.Instant类9.2.机器的日期和时间格式9.2.1.为了便于机器使用9.2.2.由秒及纳秒所构成的数字9.2.3.无法处理时间单位9.3.以Unix元年时间(传统的设定为UTC时区1970年1月1日午夜时分)开始所经历的秒数进行计算9.4.Instant.ofEpochSecond9.4.1.单参数9.4.1.1.传递代表秒数的值创建一个该类的实例9.4.2.双参数9.4.2.1.接受第二个以纳秒为单位的参数值9.4.2.2.对传入作为秒数的参数进行调整9.4.2.3.纳秒分片在0到999999999之间9.5.Instant.now()9.5.1.获取当前时刻的时间戳9.6.Instant.fromInstant()9.7.toInstant()9.8.弃用API跟新的日期和时间API之间执行互操作10.Duration类10.1.主要用于以秒和纳秒衡量时间的长短10.2.不能仅向between方法传递一个LocalDate对象做参数10.3.Duration.between10.4.对象都是不可修改的10.5.以两个temporal对象的差值的方式来定义它们的对象11.Period类11.1.Period.between11.1.1.得到两个LocalDate之间的时长11.2.对象都是不可修改的11.3.以两个temporal对象的差值的方式来定义它们的对象12.表示时间间隔的通用方法12.1.