使用Java8,两个专门类引入来处理时间差。
o Period - 处理有关基于时间的日期数量。
o Duration - 处理有关基于时间的时间量。
让我们来看看他们的操作。
选择使用任何编辑器创建以下java程序在 C:/> JAVA
Java8Tester.java
import 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