鍍金池/ 教程/ Java/ Java8期間及持續(xù)時(shí)間
Java8數(shù)據(jù)流
Java8默認(rèn)方法
Java8 Optional類
Java8 Base64
Java8期間及持續(xù)時(shí)間
Java8函數(shù)式接口
Java8 日期時(shí)間API
Java8 本地DateTime API
Java8教程
Java8 Lambda表達(dá)式
Java8環(huán)境設(shè)置
Java8向后兼容
Java8 時(shí)間調(diào)節(jié)器
Java8 ChronoUnits枚舉
Java8方法引用
Java8 Nashorn JavaScript引擎
Java8 時(shí)區(qū)DateTime API

Java8期間及持續(xù)時(shí)間

使用Java8,兩個(gè)專門類引入來處理時(shí)間差。

  • Period - 處理有關(guān)基于時(shí)間的日期數(shù)量。

  • Duration - 處理有關(guān)基于時(shí)間的時(shí)間量。

讓我們來看看他們的操作。

選擇使用任何編輯器創(chuàng)建以下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);	  	 
   }
}

驗(yàn)證結(jié)果

使用javac編譯器編譯如下類

C:\JAVA>javac Java8Tester.java

現(xiàn)在運(yùn)行Java8Tester看到的結(jié)果

C:\JAVA>java Java8Tester

看到結(jié)果。

Current date: 2014-12-10                                                 
Next month: 2015-01-10                                                   
Period: P-1M                                                             
Duration: PT2H