bedtime

java date api

三世轮回 提交于 2021-01-15 05:38:45
1.Java时间API历史 Java在1.0引入了 Date 类。从事后看来,这个类的设计当时是没有经过深思熟虑的。这个类中的很多方法在1.1版本的JDK中就被废弃了。 Java在1.1引入了 Calendar 类。这个类实际上也没有得到好评:这个类的实例是可变的,并且这个类也没有处理 闰秒 的问题。 Java在1.8引入了 java.time API。这套API可以比较好的弥补以前的时间API中的一些缺陷。 2.时间线与Instant Java中引入 Instant 来代表时间轴上的一个点。时间原点 epoch ,是1970年本初子午线经过格林威治皇家观测台的时间。从这远点开始,每天的时间用86400秒来度量,精度为纳秒。 可以使用Instant.now()来获取当前时间点,两个Instant之间可以使用Duration.between()来比较时间间隔。 可以通过Instant.equals()和compareTo()方法来比较两个时间点得大小和相等性。 Instant start = Instant. now(); runSomeAlorithm(); Instant end = Instant. now(); Duration timeElapsed = Duration.between( start, end); Instant类中有很多重载的加、减方法