[API] java.time.LocalDateクラス

java.time.LocalDateクラスは、タイムゾーンのない日付を扱うクラスです。

java.time.LocalDateの特徴

LocalDateは以下の特徴があります。

  • Java8で追加された比較的新しいAPIである
  • 情報として「年、月、日」を持つ
    (時間に関する情報は持たない)
  • タイムゾーン情報は持たない
    (タイムゾーンを扱いたい場合はZonedDateTimeを使用ください)
  • イミュータブル(不変)オブジェクトである

java.time.LocalDateの継承・実装

継承クラス

java.lang.Object
 ・java.time.LocalDate

実装インターフェース

java.io.Serializable
・java.lang.Comparable<ChronoLocalDate>
・java.time.chrono.ChronoLocalDate
・java.time.temporal.Temporal
・java.time.temporal.TemporalAccessor
・java.time.temporal.TemporalAdjuster

導入バージョン

・JDK1.8

java.time.LocalDateのAPI

【主要定数】
定数説明
LocalDateMAXLocalDateの最大値
※「+999999999-12-31」
LocalDateMINLocalDateの最小値
※「-999999999-01-01」
【主要メソッド】
戻値型メソッド静的説明
LocalDatenow()デフォルトのタイムゾーン現在日付を取得する
LocalDateof(int y, int m, int d)年月日を指定してLocalDateを取得する
intcompareTo(LocalDate d)LocalDateを比較する
intgetDayOfMonth()月の日を取得する(1~31)
DayOfWeekgetDayOfWeek()曜日を取得する(列挙型DayOfWeek)
intgetDayOfYear()年の日を取得する(1~366)
MonthgetMonth()月を取得する(列挙型Month)
intgetMonthValue()月を取得する(1~12)
intgetYear()年を取得する
LocalDateminusDays(long days)指定した日数を減算した結果を返す
LocalDateminusMonths(long months)指定した月数を減算した結果を返す
LocalDateminusWeeks(long weeks)指定した週数を減算した結果を返す
LocalDateminusYears(long years)指定した年数を減算した結果を返す
LocalDateplusDays(long days)指定した日数を加算した結果を返す
LocalDateplusMonths(long months)指定した月数を加算した結果を返す
LocalDateplusWeeks(long weeks)指定した週数を加算した結果を返す
LocalDateplusYears(long years)指定した年数を加算した結果を返す
LocalDatewithDayOfMonth(int day)指定した日を置き換えた結果を返す
(指定する日は月の日)
LocalDatewithDayOfYear(int day)指定した日を置き換えた結果を返す
(指定する日は年の日)
LocalDatewithMonth(long month)指定した月を置き換えた結果を返す
LocalDatewithYear(long year)指定した年を置き換えた結果を返す
booleanisAfter(LocalDate d)dよりも後の日時の場合はtrueを返す
booleanisBefore(LocalDate d)dよりも前の日時の場合はtrueを返す
booleanisEqual(LocalDate d)dと同じ日時の場合はtrueを返す

java.time.LocalDateサンプル

(LocalDateの生成)

// 現在日付で生成する
LocalDate now = LocalDate.now();  
System.out.println(now);
→ 2023-08-01

// 日付を数値で指定して生成する
LocalDate ld = LocalDate.of(2023, 9, 16); 
System.out.println(ld);
→ 2023-09-16
(日付の加算)

// 3日加算
LocalDate d = ld.plusDays(3);

// -2年加算
LocalDate d = ld.plusYears(-2);  //結果、2年の減算になります
(日付の減算)

// 3日減算
LocalDate d = ld.minusDays(3);

// -2年減算
LocalDate d = ld.minusYears(-2);  //結果、2年の加算になります
(日付の書き換え)

// 日を当月の25日に設定する
LocalDate d = ld.withDayOfMonth(25);

// 年を2028年に設定する
LocalDate d = ld.withYear(2028);

コメント

タイトルとURLをコピーしました