使用Java8,两个专门类引入来处理时间差。
-
Period%uA0- 处理有关基于时间的日期数量。
-
Duration%uA0- 处理有关基于时间的时间量。
让我们来看看他们的操作。
选择使用任何编辑器创建以下java程序在%uA0C:/> JAVA
Java8Tester.javaimport java.time.LocalDate import java.time.LocalTime import java.time.temporal.ChronoUnit import java.time.Duration import java.time.Period public class Java8Tester { public static void main(String args[]){ Java8Tester java8tester = new Java8Tester() java8tester.testPeriod() java8tester.testDuration() } public void testPeriod(){ //Get the current date LocalDate date1 = LocalDate.now() System.out.println("Current date: " + date1) //add 1 month to the current date LocalDate date2 = date1.plus(1, ChronoUnit.MONTHS) System.out.println("Next month: " + date2) Period period = Period.between(date2, date1) System.out.println("Period: " + period) } public void testDuration(){ LocalTime time1 = LocalTime.now() Duration twoHours = Duration.ofHours(2) LocalTime time2 = time1.plus(twoHours) Duration duration = Duration.between(time1, time2) System.out.println("Duration: " + duration) } }
验证结果
使用javac编译器编译如下类
C:\JAVA>javac Java8Tester.java
现在运行Java8Tester看到的结果
C:\JAVA>java Java8Tester
看到结果。
Current date: 2014-12-10 Next month: 2015-01-10 Period: P-1M Duration: PT2H