Dasar-dasar LocalDate
Termasuk bagian Logika & Alur dalam perjalanan Java di Coddy. Pelajaran 54 dari 59.
LocalDate di Java merepresentasikan tanggal tanpa waktu atau zona waktu. Tipe ini digunakan untuk bekerja dengan tanggal seperti ulang tahun, hari libur, atau jadwal.
Buat tanggal hari ini:
LocalDate today = LocalDate.now();Buat tanggal tertentu:
LocalDate date = LocalDate.of(2024, 3, 15);Setelah menjalankan kode di atas, date berisi: 2024-03-15
Ambil bagian-bagian berbeda dari tanggal:
LocalDate date = LocalDate.of(2024, 3, 15);
int year = date.getYear(); // 2024
int month = date.getMonthValue(); // 3
int day = date.getDayOfMonth(); // 15
String dayOfWeek = date.getDayOfWeek().toString(); // "FRIDAY"Parse tanggal dari string:
LocalDate date = LocalDate.parse("2024-03-15"); // Format: "yyyy-MM-dd"Penting: Jika format string tidak valid, parse() melempar DateTimeParseException. Gunakan try-catch untuk menanganinya:
try {
LocalDate date = LocalDate.parse("invalid-date");
} catch (DateTimeParseException e) {
System.out.println("Invalid date format");
}Tambahkan atau kurangi hari:
LocalDate date = LocalDate.of(2024, 3, 15);
LocalDate future = date.plusDays(10); // 2024-03-25
LocalDate past = date.minusDays(5); // 2024-03-10Setelah menjalankan kode di atas:
future: 2024-03-25past: 2024-03-10
Tantangan
MudahBuat method bernama processDate yang menerima tiga argumen:
- String (
dateStr) dengan format "yyyy-MM-dd" - Bilangan bulat (
days) untuk menambahkan atau mengurangi jumlah hari - String (
operation) yang berisi "add" atau "subtract"
Method ini harus:
- Mem-parsing string tanggal input
- Menambahkan atau mengurangi jumlah hari yang ditentukan
- Mengembalikan informasi hasil dalam format tertentu
Pesan yang dikembalikan harus:
- Jika format tanggal tidak valid: kembalikan "Invalid date format"
- Jika operasi tidak valid: kembalikan "Invalid operation"
- Jika berhasil: kembalikan "Original: [date], New: [new_date], Day of week: [day_name]", dengan [day_name] adalah nama hari dalam seminggu dari tanggal baru, ditulis dengan huruf kapital (misalnya,
WEDNESDAY)
Coba sendiri
import java.util.Scanner;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
public class Main {
public static String processDate(String dateStr, int days, String operation) {
// Tulis kodemu di sini
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String dateStr = scanner.nextLine();
int days = Integer.parseInt(scanner.nextLine());
String operation = scanner.nextLine();
System.out.println(processDate(dateStr, days, 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