當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java ZonedDateTime range()用法及代碼示例


ZonedDateTime類的range()方法用於獲取作為參數的字段傳遞的有效值範圍。此方法返回ValueRange對象,該對象包含字段的最小和最大有效值。該ZonedDateTime有助於提高返回範圍的準確性。當不支持該字段並且方法無法返回範圍值時,將引發異常。

用法:

public ValueRange range(TemporalField field)

參數:此方法接受一個單個參數字段,該字段是獲取值範圍的字段。


返回值:此方法返回ValueRange,該值是該字段的有效值範圍,而不是null。

異常:此方法引發以下異常:

  • DateTimeException-如果無法獲得該字段的範圍。
  • UnsupportedTemporalTypeException-如果不支持該字段。

以下示例程序旨在說明range()方法:

示例1:

// Java program to demonstrate 
// ZonedDateTime.range() method 
  
import java.time.*; 
import java.time.temporal.ChronoField; 
import java.time.temporal.ValueRange; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
  
        // create a ZonedDateTime object 
        ZonedDateTime zonedDT 
            = ZonedDateTime 
                  .parse( 
                      "2018-12-06T19:21:12.123+05:30[Asia/Calcutta]"); 
  
        // print ZonedDateTime 
        System.out.println("ZonedDateTime of Calcutta: "
                           + zonedDT); 
  
        // get range of MILLI_OF_SECOND field 
        // from ZonedDateTime using range method 
        ValueRange range 
            = zonedDT.range(ChronoField.MILLI_OF_SECOND); 
  
        // print range of MILLI_OF_SECOND 
        System.out.println("Range of MILLI_OF_SECOND: "
                           + range); 
    } 
}
輸出:
ZonedDateTime of Calcutta: 2018-12-06T19:21:12.123+05:30[Asia/Calcutta]
Range of MILLI_OF_SECOND: 0 - 999

示例2:

// Java program to demonstrate 
// ZonedDateTime.range() method 
  
import java.time.*; 
import java.time.temporal.ChronoField; 
import java.time.temporal.ValueRange; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
  
        // create a ZonedDateTime object 
        ZonedDateTime zonedDT 
            = ZonedDateTime 
                  .parse( 
                      "2018-10-25T23:12:31.123+02:00[Europe/Paris]"); 
  
        // print ZonedDateTime 
        System.out.println("ZonedDateTime of Calcutta: "
                           + zonedDT); 
  
        // get range of NANO_OF_SECOND field 
        // from zonedDateTime using range method 
        ValueRange range 
            = zonedDT.range(ChronoField.NANO_OF_SECOND); 
  
        // print range of NANO_OF_SECOND 
        System.out.println("Range of NANO_OF_SECOND: "
                           + range); 
    } 
}
輸出:
ZonedDateTime of Calcutta: 2018-10-25T23:12:31.123+02:00[Europe/Paris]
Range of NANO_OF_SECOND: 0 - 999999999

參考: https://docs.oracle.com/javase/10/docs/api/java/time/ZonedDateTime.html#range(java.time.temporal.TemporalField)



相關用法


注:本文由純淨天空篩選整理自AmanSingh2210大神的英文原創作品 ZonedDateTime range() method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。