日時関連の 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 はタイムゾーンに依存しないことを意味します。
概念的には、
LocalDateis a(year-month-day)triplet,LocalTimeis a(hour-minute-second)triplet,LocalDateTimeis a(year-month-day-hour-minute-second)sextet.
主なメソッド(3 クラスすべてに存在)
long until(Temporal endExclusive, TemporalUnit unit)指定した単位で、別の日付までの時間量を計算します。
コメント
GitHub で閲覧・コメントする(投稿にはログインが必要です)