Java ゾーンオフセット

王林
リリース: 2024-08-30 15:50:35
オリジナル
555 人が閲覧しました

ZoneOffset は、タイムゾーン UTC からの固定ゾーン オフセットを示す Java のクラスです。このクラスは、ZoneId クラスを継承し、Comparable インターフェイスを実装します。

このクラスは 3 つのフィールドを記述します:

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

  • MAX: サポートされる最大オフセット、定数です
  • MIN: サポートされる最小オフセット (定数)
  • UTC: UTC のタイムゾーンのオフセット定数 (ID: ‘Z’)

次のセクションでこのクラスについて詳しく見てみましょう。

構文

以下は ZoneOffset クラスの宣言です

public final class ZoneOffset extends ZoneId implements TemporalAccessor, TemporalAdjuster, Comparable<ZoneOffset>, Serializable
ログイン後にコピー

Java ZoneOffset のメソッド

以下は、さまざまな機能を実行する ZoneOffset クラスのさまざまなメソッドです。

1. AdjustInto(Temporaltemp)

言及された時間オブジェクトの温度は、このオブジェクトと同じオフセットを持つように調整されます。

コード:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZonedDateTime dt = ZonedDateTime.now();
System.out.println(dt);
ZoneOffset off = ZoneOffset.of("Z");
dt = (ZonedDateTime)off.adjustInto(dt);
System.out.println(dt);
}
}
ログイン後にコピー

出力:

Java ゾーンオフセット

2. CompareTo(ZoneOffsetotheroff)

このオフセットは降順で別のオフセットと比較されます。

コード:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.of("Z");
ZoneOffset off2 = ZoneOffset.of("+03:05");
System.out.println("First offset :"+ off1);
System.out.println("Second offset :"+ off2);
int cmp = off1.compareTo(off2);
System.out.println(cmp > 1 ? "Offset 1 is greater" : "Offset 2 is greater");
} }
ログイン後にコピー

出力:

Java ゾーンオフセット

3.等しい(オブジェクトobj)

このオフセットは別のオフセットと等しいかどうかチェックされます。

コード:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.of("Z");
ZoneOffset off2 = ZoneOffset.of("+03:05");
System.out.println("First offset :"+ off1);
System.out.println("Second offset :"+ off2);
boolean cmp = off1.equals(off2);
System.out.println(cmp);    } }
ログイン後にコピー

出力:

Java ゾーンオフセット

4. from(TemporalAccessortemp)

オフセットのインスタンスは時間オブジェクトからのものです。

コード:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.from(ZonedDateTime.now());
System.out.println(off1);
}
}
ログイン後にコピー

出力:

Java ゾーンオフセット

5. get(TemporalFieldf)

フィールド f の値は、オフセットから int として取得されます。

コード:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.from(ZonedDateTime.now());
System.out.println(off1);
System.out.println(off1.get(ChronoField.OFFSET_SECONDS));
} }
ログイン後にコピー

出力:

Java ゾーンオフセット

6. getId( )

正規化ゾーンのオフセット ID が取得されます。

コード:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.of("+03:50");
System.out.println(off1);
System.out.println(off1.getId());
}
}
ログイン後にコピー

出力:

Java ゾーンオフセット

7. getLong(TemporalFieldf)

フィールド f の値は、オフセットから長ければ取得されます。

コード:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.from(ZonedDateTime.now());
System.out.println(off1);
System.out.println(off1.getLong(ChronoField.OFFSET_SECONDS));
} }
ログイン後にコピー

出力:

Java ゾーンオフセット

8. getRules()

関連付けられたタイムゾーンのルールが取得されます。

コード:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.from(ZonedDateTime.now());
System.out.println(off1);
System.out.println(off1.getRules());
} }
ログイン後にコピー

出力:

Java ゾーンオフセット

9. getTotalSeconds( )

合計ゾーン オフセットは数秒で取得されます。

コード:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.from(ZonedDateTime.now());
System.out.println(off1);
System.out.println(off1.getTotalSeconds()); } }
ログイン後にコピー

出力:

Java ゾーンオフセット

10.時間数(整数時間)

zoneoffset のインスタンスは数時間以内に取得されます。

コード:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.ofHours(3);
System.out.println(off1);
} }
ログイン後にコピー

出力:

Java ゾーンオフセット

11. ofHoursMinutes(int hrs, int mints)

zoneoffset のインスタンスは数時間以内に取得されます。

コード:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.ofHoursMinutes(3, 5);
System.out.println(off1);   } }
ログイン後にコピー

出力:

Java ゾーンオフセット

12. ofHoursMinutesSeconds(int hrs, int mints, int sec)

zoneoffset のインスタンスは、時間、分、秒単位で取得されます。

コード:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.ofHoursMinutesSeconds(3, 5, 7);
System.out.println(off1);
} }
ログイン後にコピー

出力:

Java ゾーンオフセット

13.ハッシュコード()

ゾーンオフセットのハッシュコードが取得されます。

コード:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.from(ZonedDateTime.now());
System.out.println(off1);
System.out.println(off1.hashCode());
} }
ログイン後にコピー

出力:

Java ゾーンオフセット

14. ofTotalSeconds(int totalsecs)

zoneoffset のインスタンスは数秒で取得されます。

コード:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.ofTotalSeconds(2800);
System.out.println(off1);
} }
ログイン後にコピー

出力:

Java ゾーンオフセット

15. isSupported(TemporalFieldf)

言及されたフィールドがサポートされているかどうかを確認します。

コード:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.of("Z");
System.out.println(off1);
System.out.println(off1.isSupported(ChronoField.OFFSET_SECONDS));
} }
ログイン後にコピー

出力:

Java ゾーンオフセット

16. of(Stringoffsetid)

zoneoffset のインスタンスは ID を使用して取得されます。

コード:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.of("Z");
System.out.println(off1);
} }
ログイン後にコピー

Output:

Java ゾーンオフセット

17. toString()

zoneoffset will be retrieved s string using an ID that is normalized.

Code:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
String off1 = ZoneOffset.of("Z").toString();
System.out.println(off1);
} }
ログイン後にコピー

Output:

Java ゾーンオフセット

18. query(TemporalQuery query)

zoneoffset will be queried using the query mentioned.

Code:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.of("+08:00");
System.out.println(off1);
System.out.println(off1.query(TemporalQueries.zone()));  } }
ログイン後にコピー

Output:

Java ゾーンオフセット

19. range(TemporalFieldf)

The range of valid values will be retrieved for the field mentioned.

Code:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.of("+08:00");
System.out.println(off1);
System.out.println(off1.range(ChronoField.OFFSET_SECONDS ));
} }
ログイン後にコピー

Output:

Java ゾーンオフセット

Conclusion

In Java, ZoneOffset is a class that denotes the fixed zone offset from the time zone UTC. MAX, MIN, and UTC are the three fields of this class. In this article, different details such as declaration, methods, and examples of Java ZoneOffset class is explained in detail.

以上がJava ゾーンオフセットの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!