当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java ZonedDateTime plusHours()用法及代码示例


plusHours()ZonedDateTime类的方法,用于在此ZonedDateTime中添加小时数,并在添加后返回ZonedDateTime的副本。此操作在即时时间轴上进行,因此添加一小时始终是一小时后的持续时间。添加一小时可能会导致本地日期时间更改的时间不是一小时。
例如,考虑一个时区,例如“欧洲/巴黎”,秋季DST切换意味着本地时间02:00到02:59发生两次,从夏令时的+02:00更改为+01:00在冬季。

  • 将一小时添加到01:30 + 02:00将导致02:30 + 02:00(均为夏令时)
  • 将一小时添加到02:30 + 02:00将导致02:30 + 01:00(从夏季到冬季)
  • 将一小时添加到02:30 + 01:00将导致03:30 + 01:00(均为冬季)
  • 将三个小时添加到01:30 + 02:00,将导致03:30 + 01:00(从夏季到冬季)

此实例是不可变的,不受此方法调用的影响。

用法:


public ZonedDateTime plusHours(long hours)

参数:此方法接受单个参数hours,该参数表示要添加的小时数,可以为负数。

返回值:此方法基于此日期时间返回添加了小时数的ZonedDateTime,而不是null。

异常:如果结果超出支持的日期范围,则此方法将引发DateTimeException。

以下示例程序旨在说明plusHours()方法:
示例1:

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

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

示例2:

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

ZonedDateTime before adding hours: 2018-10-25T23:12:31.123+02:00[Europe/Paris]
ZonedDateTime after adding hours: 2018-10-26T19:12:31.123+02:00[Europe/Paris]

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



相关用法


注:本文由纯净天空筛选整理自AmanSingh2210大神的英文原创作品 ZonedDateTime plusHours() method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。