兩個偏移之間的過渡通常是夏令時切換的結果,而不連續性通常是春季的間隙和秋季的重疊,而這又是由本地時間線的不連續性引起的。
ZoneOffsetTransition 的函數是對這兩個偏移之間的過渡進行建模。
注意:該類是不可變的且線程安全的
方法:
方法 |
說明 |
---|---|
createTransition(int year) |
此方法創建指定年份的過渡實例。 |
of(LocalDateTime transition, ZoneOffset offsetBefore, ZoneOffset offsetAfter) |
這是一個靜態方法,用於檢索前後偏移之間傳輸的對象 |
equals() |
此方法用於比較兩個ZoneOffsetTransition對象。 |
compareTo() |
該方法用於比較兩個ZoneOffsetTransition對象 |
hashCode() |
該方法用於檢索當前ZoneOffsetTransition對象的哈希碼。 |
getDateTimeAfter() |
此方法返回應用了後偏移量的 LocalDateTime 對象。 |
getDateTimeBefore() |
此方法返回一個應用了之前偏移量的 LocalDateTime 對象。 |
getDuration() |
此方法返回過渡的持續時間對象。 |
getInstant() |
此方法返回應用後偏移時第一個瞬間的 Instant 對象。 |
getOffsetAfter() |
此方法在轉換後返回ZoneOffset 對象。 |
getOffsetBefore() |
此方法在轉換後返回ZoneOffset 對象。 |
isGap() |
此方法返回當前轉換是否表示本地時間線中的間隙。 |
isOverlap() |
此方法返回當前轉換是否表示本地時間線中的重疊。 |
isValidOffset(ZoneOffset zoneOffset) |
此方法檢查傳遞的ZoneOffset對象是否有效。即,如果 ZoneOffset 對象至少在某一點有效,則返回 true。如果在偏移之前或偏移之後存在重疊,則傳遞的 ZoneOffset 對象將是有效的對象。 |
toEpochSecond() |
此方法將轉換時刻作為紀元秒(long值)返回 |
toString() |
此方法返回一個說明當前ZoneOffsetTransition對象的字符串對象。 |
下麵是 ZoneOffsetTransition 類的 Java 實現:
Java
import java.io.*;
import java.time.*;
import java.time.chrono.*;
import java.time.zone.*;
import java.util.*;
public class GeeksForGeeks {
public static void main(String args[])
{
int year1 = 1996, year2 = 2001;
// creating the offsets
ZoneOffset ofSet1 = ZoneOffset.ofTotalSeconds(5);
ZoneOffset ofSet2 = ZoneOffset.ofTotalSeconds(2);
// creating two transition zones
ZoneOffsetTransition z1 = ZoneOffsetTransition.of(
LocalDateTime.of(year1, 11, 24, 03, 24, 48, 0),
ofSet1, ofSet2);
ZoneOffsetTransition z2 = ZoneOffsetTransition.of(
LocalDateTime.of(year2, 10, 30, 01, 21, 52, 0),
ofSet1, ofSet2);
// checking for equality of
// the two transistion zones.
boolean ans = z1.equals(z2);
if (ans)
System.out.println(
"The transition zones match!");
else
System.out.println(
"Sorry, the transition zones do not match!");
// using the getOffsetAfter to find the
// offsetAfter of a transition zone
ZoneOffset zone = z1.getOffsetAfter();
System.out.println(
"The offsetAfter of the first transition zone is"
+ zone);
}
}
Sorry, the transition zones do not match! The offsetAfter of the first transition zone is+00:00:02
相關用法
- Java java.time.Clock.equals()用法及代碼示例
- Java java.time.Clock.fixed()用法及代碼示例
- Java java.time.Clock.getZone()用法及代碼示例
- Java java.time.Clock.hashCode()用法及代碼示例
- Java java.time.Clock.instant()用法及代碼示例
- Java java.time.Clock.millis()用法及代碼示例
- Java java.time.Clock.offset()用法及代碼示例
- Java java.time.Clock.system()用法及代碼示例
- Java java.time.Clock.systemDefaultZone()用法及代碼示例
- Java java.time.Clock.systemUTC()用法及代碼示例
- Java java.time.Clock.tick()用法及代碼示例
- Java java.time.Clock.tickMinutes()用法及代碼示例
- Java java.time.Clock.tickSeconds()用法及代碼示例
- Java java.time.Clock.withZone()用法及代碼示例
- Java java.time.Duration.abs()用法及代碼示例
- Java java.time.Duration.addTo()用法及代碼示例
- Java java.time.Duration.between()用法及代碼示例
- Java java.time.Duration.compareTo()用法及代碼示例
- Java java.time.Duration.dividedBy()用法及代碼示例
- Java java.time.Duration.equals()用法及代碼示例
- Java java.time.Duration.from()用法及代碼示例
- Java java.time.Duration.get()用法及代碼示例
- Java java.time.Duration.getNano()用法及代碼示例
- Java java.time.Duration.getSeconds()用法及代碼示例
- Java java.time.Duration.getUnits()用法及代碼示例
注:本文由純淨天空篩選整理自dikshapatro大神的英文原創作品 java.time.zone.ZoneOffsetTransition Class in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。