Java ZonedDateTime クラスは、タイムゾーンを含む日付/時刻の不変表現です。 Object クラスを継承し、ChronoZonedDateTime インターフェイスを実装します。
ZonedDateTime クラスは、すべての日付と時刻のフィールドをナノ秒の精度で保存するために使用され、ゾーン オフセットを持つタイムゾーンは、曖昧なローカル日付/時間を処理するために使用されます。
Java ZonedDateTime クラス宣言
java.time.ZonedDateTime クラスの宣言を見てみましょう。
Cプログラミングを含む
public final class ZonedDateTime extends Object implements Temporal, ChronoZonedDateTime, Serializable
Java ZonedDateTime のメソッド
方法 | 説明 |
---|---|
文字列形式(DateTimeFormatterフォーマッタ) | 指定されたフォーマッタを使用してこの日時をフォーマットするために使用されます。 |
int get(TemporalField フィールド) | この日時から指定されたフィールドの値を int として取得するために使用されます。 |
ゾーンID getZone() | 「アジア/コルカタ」などのタイムゾーンを取得するために使用されます。 |
ZonedDateTime withZoneSameInstant(ZoneId ゾーン) | これは、瞬間を保持したまま、別のタイムゾーンでこの日付/時刻のコピーを返すために使用されます。 |
静的 ZonedDateTime now() | これは、デフォルトのタイムゾーンのシステムクロックから現在の日付/時刻を取得するために使用されます。 |
static ZonedDateTime of(LocalDate 日付、LocalTime 時間、ZoneId ゾーン) | これは、ローカルの日付と時刻から ZonedDateTime のインスタンスを取得するために使用されます。 |
ZonedDateTime マイナス(long amountToSubtract, TemporalUnit 単位) | これは、指定された量を差し引いたこの日付/時刻のコピーを返すために使用されます。 |
ZonedDateTime plus(long amountToAdd, TemporalUnit 単位) | これは、指定された量を追加してこの日時のコピーを返すために使用されます。 |
Java ZonedDateTime クラスの例
import java.time.ZonedDateTime; public class ZonedDateTimeExample1{ public static void main(String[] args) { ZonedDateTime zone = ZonedDateTime.parse('2016-10-05T08:20:10+05:30[Asia/Kolkata]'); System.out.println(zone); } }今すぐテストしてください
出力:
2016-10-05T08:20:10+05:30[Asia/Kolkata]
Java ZonedDateTime クラス 例: of() および withZoneSameInstant()
import java.time.*; public class ZonedDateTimeExample2{ public static void main(String[] args) { LocalDateTime ldt = LocalDateTime.of(2017, Month.JANUARY, 19, 15, 26); ZoneId india = ZoneId.of('Asia/Kolkata'); ZonedDateTime zone1 = ZonedDateTime.of(ldt, india); System.out.println('In India Central Time Zone: ' + zone1); ZoneId tokyo = ZoneId.of('Asia/Tokyo'); ZonedDateTime zone2 = zone1.withZoneSameInstant(tokyo); System.out.println('In Tokyo Central Time Zone:' + zone2); } }今すぐテストしてください
出力:
In India Central Time Zone: 2017-01-19T15:26+05:30[Asia/Kolkata] In Tokyo Central Time Zone:2017-01-19T18:56+09:00[Asia/Tokyo]
Java ZonedDateTime クラス 例: getZone()
import java.time.ZonedDateTime; public class ZonedDateTimeExample3{ public static void main(String[] args) { ZonedDateTime zone =ZonedDateTime.now(); System.out.println(zone.getZone()); } }今すぐテストしてください
出力:
Asia/Kolkata
Java ZonedDateTime クラス 例: minus()
import java.time.Period; import java.time.ZonedDateTime; public class ZonedDateTimeExample4 { public static void main(String[] args) { ZonedDateTime zone= ZonedDateTime.now(); ZonedDateTime m = zone.minus(Period.ofDays(126)); System.out.println(m); } }今すぐテストしてください
出力:
抽象クラスはコンストラクターを持つことができます
2016-09-15T12:54:01.354+05:30[Asia/Kolkata]
Java ZonedDateTime クラス 例: plus()
import java.time.*; public class ZonedDateTimeExample5{ public static void main(String[] args) { ZonedDateTime zone= ZonedDateTime.now(); ZonedDateTime p = zone.plus(Period.ofDays(126)); System.out.println(p); } }今すぐテストしてください
出力:
2017-05-25T12:56:12.417+05:30[Asia/Kolkata]