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

Bagaimana Saya Menukar java.util.Date kepada java.time.LocalDate?

Patricia Arquette
Patricia Arquetteasal
2024-12-09 00:53:09362semak imbas

How Do I Convert a java.util.Date to a java.time.LocalDate?

Menukar java.util.Date kepada java.time.LocalDate

Dalam Java 8 dan kemudian, kelas java.util.Date mempunyai telah digantikan oleh kelas java.time.LocalDate untuk mewakili tarikh. Oleh itu, adalah perlu untuk menukar objek Date kepada objek LocalDate.

Proses Penukaran

  1. Dapatkan Segera: Tukar objek Date menjadi Instant menggunakan toInstant() kaedah.

    Date input = new Date();
    Instant instant = input.toInstant();
  2. Tentukan Zon Masa: Memandangkan objek Tarikh kekurangan maklumat zon waktu, pilih zon waktu. Ini boleh menjadi lalai sistem menggunakan ZoneId.systemDefault() atau tersuai.

    ZoneId zone = ZoneId.systemDefault();
  3. Dapatkan ZonedDateTime: Gabungkan Semerta dan zon waktu untuk mencipta a ZonedDateTime.

    ZonedDateTime zdt = instant.atZone(zone);
  4. Ekstrak LocalDate: Ekstrak tarikh tempatan daripada ZonedDateTime menggunakan kaedah toLocalDate().

    LocalDate date = zdt.toLocalDate();

Java 9 dan Kemudian Pengoptimuman

Java 9 memperkenalkan kaedah yang dipermudahkan untuk penukaran ini:

LocalDate date = LocalDate.ofInstant(input.toInstant(), ZoneId.systemDefault());

Penjelasan

  • A java.util. Tarikh mewakili sesaat dalam masa, bukan tarikh khusus.
  • Semerta tidak mempunyai zon waktu maklumat, jadi zon waktu mesti ditentukan apabila menukar kepada LocalDate.
  • ZonedDateTime memegang kedua-dua maklumat tarikh dan masa setempat, serta zon waktu dan mengimbangi daripada GMT/UTC.

Atas ialah kandungan terperinci Bagaimana Saya Menukar java.util.Date kepada java.time.LocalDate?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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