Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
LocalDateTime.now() / LocalTime.now()
『LocalDateTime』は日付と時刻の両方を表すクラス、『LocalTime』は時刻のみを表すクラスです(Java 8+)。タイムゾーン情報を持たないため、サーバーのローカル時刻の取得やログのタイムスタンプ記録などに使用します。
構文
// 現在の日時を取得します。 LocalDateTime now = LocalDateTime.now(); // 現在の時刻を取得します。 LocalTime time = LocalTime.now(); // 時を取得します(0〜23)。 now.getHour(); // 分を取得します(0〜59)。 now.getMinute(); // 秒を取得します(0〜59)。 now.getSecond();
メソッド一覧
| メソッド | 概要 |
|---|---|
| LocalDateTime.now() | 現在の日時を取得します。 |
| LocalDateTime.of(date, time) | LocalDate と LocalTime を組み合わせて LocalDateTime を作成します。 |
| LocalTime.now() | 現在の時刻を取得します。 |
| LocalTime.of(hour, minute) | 指定した時・分の LocalTime を作成します。 |
| getHour() | 時を 0〜23 の int 型で返します。 |
| getMinute() | 分を 0〜59 の int 型で返します。 |
| getSecond() | 秒を 0〜59 の int 型で返します。 |
| toLocalDate() | LocalDateTime から日付部分の LocalDate を取得します。 |
| toLocalTime() | LocalDateTime から時刻部分の LocalTime を取得します。 |
サンプルコード
import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; // 現在の日時を取得します。 LocalDateTime now = LocalDateTime.now(); System.out.println(now); // 例: 『2025-04-01T14:30:00.123456』と出力されます。 // 日付と時刻の各要素を取得します。 System.out.println(now.getYear()); // 『2025』と出力されます。 System.out.println(now.getMonthValue()); // 月(1〜12)が出力されます。 System.out.println(now.getDayOfMonth()); // 日が出力されます。 System.out.println(now.getHour()); // 時(0〜23)が出力されます。 System.out.println(now.getMinute()); // 分(0〜59)が出力されます。 // 現在の時刻のみを取得します。 LocalTime time = LocalTime.now(); System.out.println(time); // 例: 『14:30:00.123456』と出力されます。 // 指定した時刻を作成します。 LocalTime lunch = LocalTime.of(12, 0); System.out.println(lunch); // 『12:00』と出力されます。 // LocalDate と LocalTime を組み合わせて LocalDateTime を作成します。 LocalDate date = LocalDate.of(2025, 4, 1); LocalTime t = LocalTime.of(9, 0); LocalDateTime meeting = LocalDateTime.of(date, t); System.out.println(meeting); // 『2025-04-01T09:00』と出力されます。 // 日付部分と時刻部分を分けて取得します。 System.out.println(now.toLocalDate()); // 日付のみが出力されます。 System.out.println(now.toLocalTime()); // 時刻のみが出力されます。
概要
『LocalDateTime』もイミュータブルであり、plusHours() や minusMinutes() などのメソッドは新しいオブジェクトを返します。タイムゾーンを考慮したい場合は ZonedDateTime を使用してください。異なるタイムゾーンの時刻を比較する場合、LocalDateTime はタイムゾーン情報を持たないため正確な比較ができません。
日時のフォーマット(文字列への変換)については『DateTimeFormatter.ofPattern() / format()』を参照してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。