Menukar java.util.Date ke java.time.LocalDate
Pakej java.time yang diperkenalkan dalam JDK 8/JSR-310 menyediakan API tarikh dan masa yang lebih moden dan komprehensif daripada kelas java.util.Date warisan. Menukar objek java.util.Date kepada java.time.LocalDate baharu boleh dilakukan dengan berkesan menggunakan langkah berikut:
1. Tukar kepada Semerta:
Kelas java.util.Date mewakili sesaat dalam masa sebagai milisaat sejak zaman itu. Untuk menukar objek java.util.Date kepada sesaat, gunakan kaedah toInstant().
Date input = new Date(); Instant instant = input.toInstant();
2. Guna Zon Waktu:
Sekejap tidak mengandungi maklumat zon waktu. Untuk menukarnya kepada tarikh tempatan, kita perlu menggunakan zon waktu. Gunakan kaedah atZone() dengan zon waktu yang diingini.
ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());
3. Ekstrak LocalDate:
A ZonedDateTime mengandungi kedua-dua tarikh dan masa, serta zon waktu. Untuk mengekstrak LocalDate, gunakan kaedah toLocalDate().
LocalDate date = zdt.toLocalDate();
Pemudah Java 9:
Java 9 memperkenalkan kaedah baharu untuk memudahkan penukaran ini:
LocalDate date = LocalDate.ofInstant(input.toInstant(), ZoneId.systemDefault());
Kaedah ini menukarkan segera kepada LocalDate menggunakan zon waktu lalai. Ia lebih ringkas dan cekap daripada pendekatan sebelumnya.
Atas ialah kandungan terperinci Bagaimana untuk Menukar java.util.Date kepada java.time.LocalDate?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!