Menu
CoddyTech

Operasi LocalTime

Termasuk bagian Logika & Alur dalam perjalanan Java di Coddy. Pelajaran 55 dari 59.

LocalTime di Java merepresentasikan waktu tanpa tanggal atau zona waktu. Ini berguna untuk menangani nilai waktu dalam sehari, seperti jam buka atau jadwal.

Buat waktu saat ini:

LocalTime now = LocalTime.now();

Buat waktu tertentu:

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

Setelah menjalankan kode di atas, time berisi:

14:30

Tambahkan atau kurangi waktu:

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

Parse waktu dari String dengan format HH:mm:

LocalTime time = LocalTime.parse("14:30");  // 14:30

string yang bukan waktu valid, seperti "25:70", membuat parse() melempar DateTimeParseException, yaitu exception yang sama dengan LocalDate.parse(). Tangkap exception tersebut dengan try-catch:

try {
    LocalTime time = LocalTime.parse("25:70");
} catch (DateTimeParseException e) {
    System.out.println("Invalid time format");
}
challenge icon

Tantangan

Mudah

Buat method bernama processTime yang menerima empat argumen:

  1. String (timeStr) dengan format "HH:mm"
  2. Bilangan bulat (amount) untuk ditambahkan atau dikurangkan
  3. String (unit) yang nilainya "hours" atau "minutes"
  4. String (operation) yang nilainya "add" atau "subtract"

Method tersebut harus:

  1. Mem-parsing string waktu input
  2. Melakukan operasi yang ditentukan
  3. Mengembalikan informasi tentang hasil dalam format tertentu

Pesan yang dikembalikan harus berupa:

  • Jika format waktu tidak valid: kembalikan "Invalid time format"
  • Jika unit tidak valid: kembalikan "Invalid unit"
  • Jika operasi tidak valid: kembalikan "Invalid operation"
  • Jika berhasil: kembalikan "Original: [time], New: [new_time]"

Coba sendiri

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) {
        // Tulis kodemu di sini
    }
    
    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 iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika & Alur

Latihan sendiri: Compiler Java online