Kelas Java LocalDate tidak boleh diubah, yang bermaksud sebaik sahaja contoh dibuat, anda tidak boleh mengubah suainya. LocalDate menyediakan banyak kaedah berguna untuk memanipulasi dan menanya tarikh, seperti menambah atau menolak hari, bulan atau tahun, mendapatkan hari dalam minggu atau menyemak sama ada tarikh sebelum atau selepas tarikh lain.
Contoh LocalDate
Mari kita mulakan dengan contoh mudah yang mencipta contoh LocalDate untuk tarikh semasa dan mencetaknya ke konsol:import java.time.LocalDate;
public class LocalDateExample {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
System.out.println("Today's date: " + today);
}
}
Dalam contoh ini, kami mengimport kelas LocalDate daripada pakej java.time dan mencipta contoh baharu LocalDate yang dipanggil hari ini menggunakan kaedah static now() . Kaedah ini mengembalikan objek LocalDate yang mewakili tarikh semasa berdasarkan jam sistem dalam zon waktu lalai. Kami kemudian mencetak tarikh semasa ke konsol menggunakan kaedah println() objek System.out . Output akan kelihatan seperti ini:
Pengeluaran
Tarikh hari ini: 2023-05-01
Pembina LocalDate
Selain kaedah now() , LocalDate menyediakan beberapa pembina lain yang membolehkan anda membuat kejadian LocalDate daripada sumber yang berbeza. Sebagai contoh, anda boleh membuat LocalDate daripada tahun, bulan dan hari tertentu:import java.time.LocalDate;
public class LocalDateConstructorExample {
public static void main(String[] args) {
LocalDate date1 = LocalDate.of(2023, 5, 1);
System.out.println("Date 1: " + date1);
}
}
Kod ini mencipta tika LocalDate baharu yang dipanggil date1 dengan tahun 2023, bulan Mei (diwakili oleh nilai 5) dan hari 1. Outputnya ialah:
Pengeluaran
Tarikh 1: 2023-05-01
Manipulasi Tarikh Tempatan
Salah satu ciri LocalDate yang paling berguna ialah keupayaan untuk memanipulasi tarikh. Contohnya, anda boleh menambah atau menolak hari, bulan atau tahun menggunakan kaedah tambah dan tolak :import java.time.LocalDate;
public class LocalDateManipulationExample {
public static void main(String[] args) {
LocalDate date3 = LocalDate.parse("2023-05-01");
LocalDate date4 = date3.plusDays(1);
LocalDate date5 = date3.minusMonths(1);
LocalDate date6 = date3.plusYears(1);
System.out.println("Date 3: " + date3);
System.out.println("Date 4: " + date4);
System.out.println("Date 5: " + date5);
System.out.println("Date 6: " + date6);
}
}
Dalam contoh ini, kami mula-mula membuat contoh LocalDate baharu yang dipanggil date3 dengan menghuraikan rentetan "2023-05-01". Kami kemudian membuat tiga kejadian LocalDate baharu yang dipanggil date4 , date5 , dan date6 dengan menambah atau menolak hari, bulan atau tahun dari date3 . Outputnya ialah:
Tarikh 3: 2023-05-01 Tarikh 4: 2023-05-02 Tarikh 5: 2023-04-01 Tarikh 6: 2024-05-01
Membandingkan LocalDates
LocalDate juga menyediakan kaedah untuk membandingkan tarikh. Anda boleh menyemak sama ada dua kejadian LocalDate adalah sama, atau jika satu adalah sebelum atau selepas yang lain menggunakan kaedah equals() , isBefore() dan isAfter() :import java.time.LocalDate;
public class LocalDateCompareExample {
public static void main(String[] args) {
LocalDate date1 = LocalDate.parse("2023-05-01");
LocalDate date2 = LocalDate.parse("2023-05-02");
System.out.println("Are the dates equal? " + date1.equals(date2));
System.out.println("Is date1 before date2? " + date1.isBefore(date2));
System.out.println("Is date2 after date1? " + date2.isAfter(date1));
}
}
Dalam contoh ini, kami mencipta dua kejadian LocalDate yang dipanggil date1 dan date2 , dan kemudian menggunakan kaedah equals() , isBefore() dan isAfter() untuk membandingkannya. Output akan dalam bentuk boolean iaitu benar atau salah :
Adakah tarikhnya sama? palsu Adakah tarikh1 sebelum tarikh2? benar Adakah tarikh2 selepas tarikh1? benar
LocalDateTime
Jika anda perlu mewakili tarikh dan masa, anda boleh menggunakan kelas LocalDateTime , yang serupa dengan LocalDate tetapi termasuk komponen masa. LocalDateTime menyediakan kaedah untuk memanipulasi dan menanyakan kedua-dua bahagian tarikh dan masa. Berikut ialah contoh membuat contoh LocalDateTime :import java.time.LocalDateTime;
public class LocalDateTimeExample {
public static void main(String[] args) {
LocalDateTime datetime = LocalDateTime.now();
System.out.println("Current date and time: " + datetime);
}
}
Kod ini mengimport kelas LocalDateTime dan mencipta contoh baharu yang dipanggil datetime menggunakan kaedah now() . Output akan kelihatan seperti ini:
Tarikh dan masa semasa: 2023-05-01T15:30:00.123456789
Nota: 'T' dalam output bermaksud permulaan cap masa.
GO TO FULL VERSION