1. 概要

Javaでの日付の作成は、Java8の登場により再定義されました。 その上、新しい日付と時刻のAPI から java.time パッケージは、からの古いものに比べて簡単に使用することができます java.util パッケージ。 このチュートリアルでは、それがどのように大きな違いを生むかを見ていきます。

java.timeパッケージのLocalDateクラスは、これを実現するのに役立ちます。 LocalDate は、不変で、スレッドセーフなクラスです。 さらに、 LocalDate 日付値のみを保持でき、時間コンポーネントを持つことはできません。

ここで、値を使用して作成するすべてのバリエーションを見てみましょう。

2. of()を使用してカスタムLocalDateを作成します

2020年1月8日を表すLocalDateを作成するいくつかの方法を見てみましょう。 のファクトリメソッドに値を渡すことで作成できます。

LocalDate date = LocalDate.of(2020, 1, 8);

月は、Month列挙型を使用して指定することもできます。

LocalDate date = LocalDate.of(2020, Month.JANUARY, 8)

エポックデイを使用して取得することもできます。

LocalDate date = LocalDate.ofEpochDay(18269);

そして最後に、年と日の値を使用して作成しましょう。

LocalDate date = LocalDate.ofYearDay(2020, 8);

3. String を解析して、LocalDateを作成します

最後のオプションは、文字列を解析して日付を作成することです。 parse メソッドを1つの引数だけで使用して、yyyy-mm-dd形式の日付を解析できます。

LocalDate date = LocalDate.parse("2020-01-08");

parseメソッドの2番目のパラメーターとしてDateTimeFormatterクラスを使用して、別のパターンを指定してパターンを取得することもできます。

LocalDate date = LocalDate.parse("8-Jan-2020", DateTimeFormatter.ofPattern("d-MMM-yyyy"));

4. 結論

この記事では、Javaの値を使用してLocalDateを作成するすべてのバリエーションを見てきました。 The 日付と時刻のAPI記事私たちがもっと理解するのを助けることができます。

例は、GitHubから入手できます。