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)
相关用法
- Java OffsetDateTime minusHours()用法及代码示例
- Java OffsetTime minusHours()用法及代码示例
- Java LocalTime minusHours()用法及代码示例
- Java Duration minusHours(long)用法及代码示例
- Java ZonedDateTime with()用法及代码示例
- Java ZonedDateTime plus()用法及代码示例
- Java ZonedDateTime get()用法及代码示例
- Java ZonedDateTime of()用法及代码示例
- Java ZonedDateTime now()用法及代码示例
- Java ZonedDateTime until()用法及代码示例
- Java ZonedDateTime plusYears()用法及代码示例
- Java ZonedDateTime minusNanos()用法及代码示例
- Java ZonedDateTime withMonth()用法及代码示例
- Java ZonedDateTime withNano()用法及代码示例
- Java ZonedDateTime plusWeeks()用法及代码示例
注:本文由纯净天空筛选整理自AmanSingh2210大神的英文原创作品 ZonedDateTime minusHours() method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。