言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

Java辞典

  1. トップページ
  2. Java辞典
  3. LocalDateTime.now() / LocalTime.now()

LocalDateTime.now() / LocalTime.now()

対応: Java 8(2014)

『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)LocalDateLocalTime を組み合わせて 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 を取得します。

サンプルコード

sample_LocalDateTimeExample.java
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

class LocalDateTimeExample {
    public static void main(String[] args) {
        // 指定した日時を作成します
        LocalDate date = LocalDate.of(2025, 4, 1);
        LocalTime t = LocalTime.of(14, 30, 0, 123456000);
        LocalDateTime now = LocalDateTime.of(date, t);
        System.out.println(now); // 『2025-04-01T14:30:00.123456』と出力されます。

        // 日付と時刻の各要素を取得します
        System.out.println(now.getYear());       // 『2025』と出力されます。
        System.out.println(now.getMonthValue()); // 『4』と出力されます。
        System.out.println(now.getDayOfMonth()); // 『1』と出力されます。
        System.out.println(now.getHour());       // 『14』と出力されます。
        System.out.println(now.getMinute());     // 『30』と出力されます。

        // 指定した時刻を作成します
        LocalTime lunch = LocalTime.of(12, 0);
        System.out.println(lunch); // 『12:00』と出力されます。

        // LocalDate と LocalTime を組み合わせて LocalDateTime を作成します
        LocalTime t2 = LocalTime.of(9, 0);
        LocalDateTime meeting = LocalDateTime.of(date, t2);
        System.out.println(meeting); // 『2025-04-01T09:00』と出力されます。

        // 日付部分と時刻部分を分けて取得します
        System.out.println(now.toLocalDate()); // 『2025-04-01』と出力されます。
        System.out.println(now.toLocalTime()); // 『14:30:00.123456』と出力されます。
    }
}
LocalDateTimeExample.java
javac LocalDateTimeExample.java
java LocalDateTimeExample
2025-04-01T14:30:00.123456
2025
4
1
14
30
12:00
2025-04-01T09:00
2025-04-01
14:30:00.123456

概要

『LocalDateTime』もイミュータブルであり、plusHours()minusMinutes() などのメソッドは新しいオブジェクトを返します。タイムゾーンを考慮したい場合は ZonedDateTime を使用してください。異なるタイムゾーンの時刻を比較する場合、LocalDateTime はタイムゾーン情報を持たないため正確な比較ができません。

日時のフォーマット(文字列への変換)については『DateTimeFormatter.ofPattern() / format()』を参照してください。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。