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


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


ZonedDateTime類的withNano()方法用於更改此ZonedDateTime中的秒數,並在此操作後返回ZonedDateTime的副本。此方法在本地時間軸上操作,更改本地日期時間和此操作後的時間使用區域ID獲取偏移量,將本地日期時間轉換回ZonedDateTime。當轉換回ZonedDateTime時,如果本地日期時間重疊,則將盡可能保留偏移量,否則將使用較早的偏移量。此實例是不可變的,不受此方法調用的影響。

用法:

public ZonedDateTime withNano(int nanoOfSecond)

參數:此方法接受單個參數nanoOfSecond,該參數表示要在結果中設置的納秒(0到999、999、999)。


返回值:此方法基於此日期時間以及所請求的nanoOfSecond返回ZonedDateTime。

異常:如果nanoOfSecond值無效,則此方法引發DateTimeException。

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

// Java program to demonstrate 
// ZonedDateTime.withNano() method 
  
import java.time.*; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
  
        // create a ZonedDateTime object 
        ZonedDateTime zoneddatetime 
            = ZonedDateTime.parse( 
                "2018-12-06T19:21:12.123+05:30[Asia/Calcutta]"); 
  
        // print instance 
        System.out.println("ZonedDateTime before"
                           + " alter nanoOfSecond: "
                           + zoneddatetime); 
  
        // alter nanoOfSecond to 12345987 
        ZonedDateTime returnvalue 
            = zoneddatetime.withNano(12345987); 
  
        // print result 
        System.out.println("ZonedDateTime after "
                           + "alter nanoOfSecond: "
                           + returnvalue); 
    } 
}
輸出:

ZonedDateTime before alter nanoOfSecond: 2018-12-06T19:21:12.123+05:30[Asia/Calcutta]
ZonedDateTime after alter nanoOfSecond: 2018-12-06T19:21:12.012345987+05:30[Asia/Calcutta]

程序2:

// Java program to demonstrate 
// ZonedDateTime.withNano() method 
  
import java.time.*; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
  
        // create a ZonedDateTime object 
        ZonedDateTime zoneddatetime 
            = ZonedDateTime.parse( 
                "2018-10-25T23:12:31.123+02:00[Europe/Paris]"); 
  
        // print instance 
        System.out.println("ZonedDateTime before"
                           + " alter nanoOfSecond: "
                           + zoneddatetime); 
  
        // alter nanoOfSecond to 439990000 
        ZonedDateTime returnvalue 
            = zoneddatetime.withNano(439990000); 
  
        // print result 
        System.out.println("ZonedDateTime after "
                           + "alter nanoOfSecond: "
                           + returnvalue); 
    } 
}
輸出:

ZonedDateTime before alter nanoOfSecond: 2018-10-25T23:12:31.123+02:00[Europe/Paris]
ZonedDateTime after alter nanoOfSecond: 2018-10-25T23:12:31.439990+02:00[Europe/Paris]

參考: https://docs.oracle.com/javase/10/docs/api/java/time/ZonedDateTime.html#withNano(int)



相關用法


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