Rumah > Java > javaTutorial > Bagaimana untuk Menukar `java.util.Date` kepada `java.time.LocalDate`?

Bagaimana untuk Menukar `java.util.Date` kepada `java.time.LocalDate`?

Linda Hamilton
Lepaskan: 2024-12-08 02:49:10
asal
717 orang telah melayarinya

How to Convert `java.util.Date` to `java.time.LocalDate`?

Menukar java.util.Date ke java.time.LocalDate

API tarikh dan masa Java telah dirombak dalam JDK 8/JSR-310 , memperkenalkan paradigma baharu untuk mengendalikan operasi berkaitan tarikh. Tugas biasa dalam peralihan ini ialah menukar objek java.util.Date sedia ada kepada format java.time.LocalDate baharu.

Jawapan Ringkas

Untuk menukar java. util.Date ke LocalDate, ikut ini langkah:

Date input = new Date();
LocalDate date = input.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
Salin selepas log masuk

Penjelasan

java.util.Date mewakili sesaat dalam masa tanpa sebarang maklumat zon waktu. Walau bagaimanapun, LocalDate mewakili tarikh kalendar tertentu tanpa masa atau zon masa.

Untuk menukar Tarikh kepada LocalDate, anda mesti menukar Tarikh kepada Segera menggunakan kaedah toInstant() dahulu. Instant tidak mempunyai zon waktu yang dikaitkan dengannya.

Seterusnya, anda perlu menggunakan zon waktu pada Instant untuk mendapatkan objek ZonedDateTime. Anda boleh menggunakan ZoneId.systemDefault() untuk mendapatkan zon waktu sistem lalai.

Akhir sekali, anda boleh mengekstrak komponen LocalDate daripada objek ZonedDateTime menggunakan kaedah toLocalDate().

Java 9 Answer

Java SE 9 memperkenalkan alternatif yang lebih mudah untuk di atas penukaran:

Date input = new Date();
LocalDate date = LocalDate.ofInstant(input.toInstant(), ZoneId.systemDefault());
Salin selepas log masuk

Kaedah ini menukar terus Tarikh kepada LocalDate tanpa memerlukan objek ZonedDateTime perantaraan.

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan