Java Date and Time

最終更新: 2026-06-01 17:26:29 +0800 +0800
tags: Date-Time | Java | Jdk
原文は英語で書かれています。あなたはAI翻訳版を読んでいます。

日時関連の SDK。

タイムゾーンは人工的な概念であり、特定のロケールを扱う場合にだけ意味を持ちます。

直感に反して、local time という語はタイムゾーンに依存しないことを意味します。 つまり、対象のクラスにはタイムゾーン情報を格納するフィールドがありません。

Java 8 より前: java.util.Date & Java.util.Calendar #

Java 8 以降: java.time.* #

interface Temporal & final Class Instant Implements Temporal #

Temporal インスタンスは、任意の時間範囲におけるある時点を表します。 時間量を this に加算したり this から減算したりしても、結果は Temporal になります。

final クラス Instant は、エポックからの秒数を表す long と、その秒内のナノ秒を表す int をカプセル化して Temporal を実装します。 主なメソッド:

  • static Instant now()
  • static Instant ofEpochMillis(long millis)
  • long until(Temporal endExclusive, TemporalUnit unit)

統合: interface TemporalUnit と enum ChronoUnit Implements TemporalUnit #

各 ChronoUnit 列挙インスタンスは、説明的な名前を持つ Duration にすぎません。

タイムゾーン非依存: java.time.LocalDate / java.time.LocalDateTime / java.time.LocalTime #

Local はタイムゾーンに依存しないことを意味します。

概念的には、

  • LocalDate is a (year-month-day) triplet,
  • LocalTime is a (hour-minute-second) triplet,
  • LocalDateTime is a (year-month-day-hour-minute-second) sextet.

主なメソッド(3 クラスすべてに存在)

  • long until(Temporal endExclusive, TemporalUnit unit)

    指定した単位で、別の日付までの時間量を計算します。

java.time.Clock #

java.time.DateTimeException #

java.time.DayOfWeek #

java.time.Duration #

java.time.Month #

java.time.MonthDay #

java.time.OffsetDateTime #

java.time.OffsetTime #

java.time.Period #

java.time.Ser #

java.time.Year #

java.time.YearMonth #

java.time.ZonedDateTime #

java.time.ZoneId #

java.time.ZoneOffset #

java.time.ZoneRegion #

コメント

GitHub で閲覧・コメントする(投稿にはログインが必要です)