Menu
Coddy logo textTech

LocalTime の操作

CoddyのJavaジャーニー「ロジックとフロー」セクションの一部 — レッスン 55/59。

JavaのLocalTimeは、日付やタイムゾーンを含まない時間を表します。営業時間やスケジュールなどの1日の時刻値で作業するのに便利です。

現在の時刻を作成:

LocalTime now = LocalTime.now();

特定の時刻を作成:

LocalTime time = LocalTime.of(14, 30);
// 14:30 (2:30 PM)

上記のコードを実行した後、time には次のものが含まれます:

14:30

時間を加算または減算:

LocalTime time = LocalTime.of(14, 30);
LocalTime later = time.plusMinutes(45);  // 15:15
LocalTime earlier = time.minusHours(1);  // 13:30
challenge icon

チャレンジ

簡単

processTime という名前のメソッドを作成し、4 つの引数を受け取る:

  1. 形式 "HH:mm" の文字列 (timeStr)
  2. 加算または減算する量の整数 (amount)
  3. "hours" または "minutes" の文字列 (unit)
  4. "add" または "subtract" の文字列 (operation)

このメソッドは以下を行う:

  1. 入力された時間文字列を解析する
  2. 指定された操作を実行する
  3. 結果についてのフォーマットされた情報を返す

戻り値のメッセージは以下であるべき:

  • 時間形式が無効な場合: "Invalid time format" を返す
  • 単位が無効な場合: "Invalid unit" を返す
  • 操作が無効な場合: "Invalid operation" を返す
  • 成功時: "Original: [time], New: [new_time]" を返す

チートシート

LocalTime は、Java で日付やタイムゾーンを含まない時間を表します。

現在の時刻を作成:

LocalTime now = LocalTime.now();

特定の時刻を作成:

LocalTime time = LocalTime.of(14, 30);  // 14:30 (2:30 PM)

時間を加算または減算:

LocalTime time = LocalTime.of(14, 30);
LocalTime later = time.plusMinutes(45);  // 15:15
LocalTime earlier = time.minusHours(1);  // 13:30

自分で試してみよう

import java.util.Scanner;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;

public class Main {
    public static String processTime(String timeStr, int amount, String unit, String operation) {
        // ここにコードを書いてください
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String timeStr = scanner.nextLine();
        int amount = Integer.parseInt(scanner.nextLine());
        String unit = scanner.nextLine();
        String operation = scanner.nextLine();
        
        System.out.println(processTime(timeStr, amount, unit, operation));
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン