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


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


minusHours()ZonedDateTime類的方法,用於從此ZonedDateTime中減去小時數,並在減去後返回ZonedDateTime的副本。此操作在即時時間軸上進行,因此減去一小時始終是一小時。減去一小時可能會導致本地日期時間的變化量不是一小時。
例如,考慮一個時區,例如“歐洲/巴黎”,秋季DST切換意味著本地時間02:00到02:59發生兩次,從夏令時的+02:00更改為+01:00在冬季。

  • 從03:30 + 01:00減去一小時將得出02:30 + 01:00(均為冬季)
  • 從02:30 + 01:00減去一小時將得出02:30 + 02:00(從冬季移至夏季)
  • 從02:30 + 02:00減去一小時將得出01:30 + 02:00(均為夏令時)
  • 從03:30 + 01:00減去三個小時將得出01:30 + 02:00(從冬季移至夏季)

此實例是不可變的,不受此方法調用的影響。

用法:


public ZonedDateTime minusHours(long hours)

參數:此方法接受單個參數小時,該小時代表要減去的小時,可以為負。

返回值:此方法基於此日期時間並減去小時數,返回ZonedDateTime。

異常:如果結果超出支持的日期範圍,則此方法將引發DateTimeException。

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

// Java program to demonstrate 
// ZonedDateTime.minusHours() 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"
                           + " subtracting hours: "
                           + zoneddatetime); 
  
        // subtract 3 hours 
        ZonedDateTime returnvalue 
            = zoneddatetime.minusHours(3); 
  
        // print result 
        System.out.println("ZonedDateTime after "
                           + " subtracting 3 hours: "
                           + returnvalue); 
    } 
}
輸出:

ZonedDateTime before subtracting hours: 2018-12-06T19:21:12.123+05:30[Asia/Calcutta]
ZonedDateTime after subtracting 3 hours: 2018-12-06T16:21:12.123+05:30[Asia/Calcutta]

示例2:

// Java program to demonstrate 
// ZonedDateTime.minusHours() 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"
                           + " subtracting hours: "
                           + zoneddatetime); 
  
        // subtract 20 hours 
        ZonedDateTime returnvalue 
            = zoneddatetime.minusHours(20); 
  
        // print result 
        System.out.println("ZonedDateTime after "
                           + " subtracting 20 hours: "
                           + returnvalue); 
    } 
}
輸出:

ZonedDateTime before subtracting hours: 2018-10-25T23:12:31.123+02:00[Europe/Paris]
ZonedDateTime after subtracting 20 hours: 2018-10-25T03:12:31.123+02:00[Europe/Paris]

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



相關用法


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