JavaでのLocalDateTimeの入力と処理方法


まず、LocalDateTimeを入力するためには、ユーザーからの入力を受け付ける必要があります。一般的な方法は、Scannerクラスを使用することです。以下に、Scannerを使用してユーザーから年、月、日、時、分、秒の値を入力する例を示します。

import java.time.LocalDateTime;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("年を入力してください: ");
        int year = scanner.nextInt();

        System.out.println("月を入力してください: ");
        int month = scanner.nextInt();

        System.out.println("日を入力してください: ");
        int day = scanner.nextInt();

        System.out.println("時を入力してください: ");
        int hour = scanner.nextInt();

        System.out.println("分を入力してください: ");
        int minute = scanner.nextInt();

        System.out.println("秒を入力してください: ");
        int second = scanner.nextInt();

        LocalDateTime dateTime = LocalDateTime.of(year, month, day, hour, minute, second);

        System.out.println("入力された日時: " + dateTime);
    }
}

上記のコードでは、Scannerを使用してユーザーから年、月、日、時、分、秒の値を順番に入力しています。それぞれの値は、int型の変数に格納され、LocalDateTimeのofメソッドを使用してLocalDateTimeオブジェクトを作成しています。最後に、入力された日時を出力しています。

このようにして、ユーザーからの入力を受け付け、LocalDateTimeオブジェクトを作成することができます。このオブジェクトを使用して、さまざまな操作や計算を行うことができます。

例えば、LocalDateTimeオブジェクトから年、月、日、時、分、秒の値を個別に取得するには、以下のようにします。

int year = dateTime.getYear();
int month = dateTime.getMonthValue();
int day = dateTime.getDayOfMonth();
int hour = dateTime.getHour();
int minute = dateTime.getMinute();
int second = dateTime.getSecond();

また、LocalDateTimeオブジェクトをフォーマットして表示する方法もあります。以下に、yyyy-MM-dd HH:mm:ssの形式で日時を表示する例を示します。

import java.time.format.DateTimeFormatter;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = dateTime.format(formatter);
System.out.println("フォーマットされた日時: " + formattedDateTime);

上記のコードでは、DateTimeFormatterクラスを使用してフォーマットを定義し、formatメソッドを使用してLocalDateTimeオブジェクトを指定した形式の文字列に変換しています。

以上が、JavaでLocalDateTimeを入力して処理するためのシンプルで簡単な方法とコード例です。これを参考にして、自分のプログラムに適用してみてください。