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:30Parse waktu dari String dengan format HH:mm:
LocalTime time = LocalTime.parse("14:30"); // 14:30string 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");
}Tantangan
MudahBuat method bernama processTime yang menerima empat argumen:
- String (
timeStr) dengan format "HH:mm" - Bilangan bulat (
amount) untuk ditambahkan atau dikurangkan - String (
unit) yang nilainya "hours" atau "minutes" - String (
operation) yang nilainya "add" atau "subtract"
Method tersebut harus:
- Mem-parsing string waktu input
- Melakukan operasi yang ditentukan
- 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));
}
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika & Alur
1Array Multidimensi
Dasar Array 2DMengakses Elemen Array 2DLoop Bersarang dengan Array 2DRangkuman: Array 2DPenjumlahan dan Pengurangan MatriksArray BergerigiArray 3D dan Lebih JauhPola Umum Array 2DRangkuman: Semua tentang Array4HashSet Bagian 1
Apa itu HashSet?Menambahkan ElemenMenghapus ElemenMemeriksa Apakah Elemen AdaKosong dan UkuranMengosongkan dan MenyalinRekap: HashSet10Tanggal dan Waktu
Dasar-dasar LocalDateOperasi LocalTimePenggunaan LocalDateTimePeriod dan DurationFormat TanggalPenanganan Zona Waktu2HashMap Bagian 1
Apa itu HashMap?Deklarasikan HashMapMengakses nilaiPeriksa apakah key adaMengubah dictionaryRingkasan: HashMap3HashMap Bagian 2
Method HashMapIterasi dengan keySet()Iterasi dengan entrySet()HashMap BersarangRangkuman: Kelola GudangRangkuman: Operasi HashMap6Alur Kontrol Lanjutan
Pernyataan LabelEkspresi SwitchPencocokan PolaKlausa PenjagaRingkasan Alur Kontrol9Proyek: Penghitung Kata Unik
Input dan Penyimpanan TeksPemrosesan KataLatihan sendiri: Compiler Java online