JavaでのLocalDateTimeの使い方は何ですか?
LocalDateTimeは、Java 8で導入された日時クラスで、変更できない日時オブジェクトを表し、時差情報は含まれていません。
LocalDateTimeクラスの使用方法は次のようになります。
- LocalDateTimeオブジェクトを作成する。
- 現在の日時を取得する: LocalDateTime now = LocalDateTime.now();
指定した日時を作成する:LocalDateTime specificDateTime = LocalDateTime.of(2021, 12, 31, 23, 59, 59);
文字列を解析して日時に変換する: LocalDateTime parsedDateTime = LocalDateTime.parse(“2021-12-31T23:59:59”); - 日付や時刻のさまざまな部分を取得します。
- 現在の年を取得してyearに代入し、現在の月をmonthに代入し、現在の日をdayOfMonthに代入し、現在の時をhourに代入し、現在の分をminuteに代入し、現在の秒をsecondに代入します。
- 各パーツの日付と時間を調整します。
- modifiedDateTime = now.withYear(2022).withMonth(1).withDayOfMonth(1); // 年、月、日を変更
plusDateTime = now.plusDays(1).plusHours(2); // 1日と2時間を加える
minusDateTime = now.minusMonths(1).minusMinutes(30); // 1ヶ月と30分を引く - 日付と時刻の前後関係を比較する。
- 今が特定の日時よりも後かどうかを判断するブール値isAfterと、特定の日時よりも前かどうかを判断するブール値isBeforeを使用します。
- 日時を文字列に変換する。
- 今の日時を使用して、”yyyy-MM-dd HH:mm:ss”形式のフォーマットに整形した日時文字列を作成します。
- 他の一般的な方法:
- LocalDateTime truncatedDateTime = now.truncatedTo(ChronoUnit.HOURS); // 時間を切り捨てる
LocalDateTime startOfDay = now.toLocalDate().atStartOfDay(); // 当日の開始時間を取得する
注意:LocalDateTimeクラスは変更不可能です。どんな修正操作も新しいオブジェクトを返します。