Java 8 Duration类使用示例教程

x33g5p2x  于2021-08-22 转载在 Java  
字(1.9k)|赞(0)|评价(0)|浏览(817)

1. Duration类概述

Duration最适合用于测量基于机器的时间的情况,例如使用Instant对象的代码。
Duration对象以秒或纳秒为单位,不使用基于日期的结构,如年、月、日,尽管该类提供了转换为日、小时和分钟的方法。如果一个Duration的创建端点发生在起始点之前,它可以有一个负值。本指南的例子见于Github
Duration class提供了很多API/方法来处理持续时间。在这篇文章中,我们将讨论几个重要的和经常使用的DurationAPI/方法,并附有实例。
类图显示了Duration提供的API列表。

 让我们结合实例来讨论以下方法
`- static Duration between(Temporal startInclusive, Temporal endExclusive)

  • long get(TemporalUnit unit)
  • boolean isNegative()
  • boolean isZero()
  • Duration minus(Duration duration)
  • Duration plus(Duration duration)`

2. Duration类实例

2.1 Java Duration示例:between()方法

import java.time./*;  
import java.time.temporal.ChronoUnit;  
public class DurationExample {  
  public static void main(String[] args) {  
    Duration d = Duration.between(LocalTime.NOON,LocalTime.MAX);  
    System.out.println(d.get(ChronoUnit.SECONDS));    
  }  
}

输出。

43199

2.2 Java Duration示例:get()方法 $13$方法

import java.time./*;  
import java.time.temporal.ChronoUnit;  
public class DurationExample {  
  public static void main(String[] args) {  
    Duration d = Duration.between(LocalTime.NOON,LocalTime.MAX);  
    System.out.println(d.get(ChronoUnit.SECONDS));    
  }  
}

输出。

43199
86399

2.3 Java Duration 示例:isNegative()方法

import java.time./*;  
public class DurationExample {  
  public static void main(String[] args) {  
      Duration d1 = Duration.between(LocalTime.MAX,LocalTime.NOON);  
      System.out.println(d1.isNegative());  
      Duration d2 = Duration.between(LocalTime.NOON,LocalTime.MAX);  
              System.out.println(d2.isNegative());      
  }  
}

输出。

true
false

2.4 Java Duration示例:minus()方法

import java.time./*;  
public class DurationExample {  
  public static void main(String[] args) {  
    Duration d1 = Duration.between(LocalTime.NOON,LocalTime.MAX);  
    System.out.println(d1.getSeconds());  
    Duration d2 = d1.minus(d1);  
    System.out.println(d2.getSeconds());  
  }  
}

输出。

43199
0

2.5 Java Duration示例:plus()方法 $19$方法

import java.time./*;  
public class DurationExample {  
  public static void main(String[] args) {  
    Duration d1 = Duration.between(LocalTime.NOON,LocalTime.MAX);  
    System.out.println(d1.getSeconds());  
    Duration d2 = d1.plus(d1);  
    System.out.println(d2.getSeconds());  
  }  
}

输出。

43199
86399

相关文章