Rumah > Java > javaTutorial > Bagaimanakah saya boleh menukar antara java.time.LocalDateTime dan java.util.Date?

Bagaimanakah saya boleh menukar antara java.time.LocalDateTime dan java.util.Date?

Mary-Kate Olsen
Lepaskan: 2024-12-06 22:12:14
asal
183 orang telah melayarinya

How do I convert between java.time.LocalDateTime and java.util.Date?

Menukar Antara java.time.LocalDateTime dan java.util.Date

Java 8 memperkenalkan API tarikh dan masa baharu, termasuk java Kelas .time.LocalDateTime untuk nilai tarikh-dengan-masa bebas zon waktu. Walau bagaimanapun, banyak pangkalan kod lama masih menggunakan kelas java.util.Date yang lebih lama. Ini menimbulkan persoalan tentang cara menukar antara dua kelas.

Walaupun tiada kaedah penukaran langsung, langkah berikut menyediakan penyelesaian:

  1. Tukar java.util.Tarikh ke Segera:

    Date in = new Date();
    Instant instant = in.toInstant();
    Salin selepas log masuk
  2. Tukar Segera kepada LocalDateTime (menentukan Zon Waktu):

    LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
    Salin selepas log masuk
  3. Tukar LocalDateTime kepada ZonedDateTime (nyatakan Zon Waktu):

    ZoneId systemZoneId = ZoneId.systemDefault();
    ZonedDateTime zdt = ldt.atZone(systemZoneId);
    Salin selepas log masuk
  4. Tukar ZonedDateTime kepada Segera:

    Instant convertedInstant = zdt.toInstant();
    Salin selepas log masuk
  5. Tukar Semerta kembali kepada java.util.Date:

    Date out = Date.from(convertedInstant);
    Salin selepas log masuk

Adalah penting untuk ambil perhatian bahawa penukaran kepada LocalDateTime dan kembali kepada java.util.Date mungkin menghasilkan seketika yang berbeza disebabkan oleh Daylight Menjimatkan Masa.

Selain itu, java.util.Date menggunakan kalendar berbeza untuk tarikh sebelum 15 Oktober, 1582, manakala java.time.* menggunakan kalendar ISO untuk sepanjang masa. Perbezaan ini mungkin menjejaskan keserasian apabila membandingkan tarikh sebelum 1582.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menukar antara java.time.LocalDateTime dan java.util.Date?. 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