Dengan pengenalan pakej java.time Java 8, pembangun telah menerima API baharunya untuk pengendalian tarikh dan masa. Antara kelasnya, LocalDateTime memegang nilai tarikh-dengan-masa bebas zon waktu.
Walau bagaimanapun, kod warisan sering bergantung pada kelas java.util.Date. Apabila menyepadukan pangkalan kod lama dan baharu, penukaran antara dua kelas ini menjadi perlu.
Pendekatan Penukaran:
Dari java.util.Date ke LocalDateTime:
Kod:
Date in = new Date(); LocalDateTime ldt = LocalDateTime.ofInstant(in.toInstant(), ZoneId.systemDefault());
Dari LocalDateTime hingga java.util.Date:
Kod:
LocalDateTime ldt = ... ZonedDateTime zdt = ldt.atZone(ZoneId.systemDefault()); Date output = Date.from(zdt.toInstant());
Nota tentang Waktu Penjimatan Siang (DST):
Menukar daripada LocalDateTime kepada java.util.Date melalui ZonedDateTime boleh memperkenalkan tingkah laku yang tidak dijangka disebabkan oleh DST. Nilai LocalDateTime tertentu mungkin tidak wujud atau mungkin berlaku dua kali semasa peralihan DST. Rujuk Javadoc untuk atZone(ZoneId) untuk mendapatkan butiran.
Pertimbangan Tambahan:
Atas ialah kandungan terperinci Bagaimana untuk Menukar Antara java.time.LocalDateTime dan java.util.Date?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!