Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mengira Bilangan Hari Antara Dua Tarikh di Java 8?

Bagaimana untuk Mengira Bilangan Hari Antara Dua Tarikh di Java 8?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-06 20:08:03761semak imbas

How to Calculate the Number of Days Between Two Dates in Java 8?

Kira Hari antara Dua Tarikh di Java 8

Mengira bilangan hari antara dua tarikh di Jawa boleh menjadi tugas biasa. Walaupun perpustakaan luaran seperti JodaTime mungkin menyediakan kaedah yang mudah, pendekatan mudah menggunakan API Tarikh Java 8 adalah mungkin.

Sekatan:

  1. Cegah ralat yang disebabkan oleh penjimatan siang hari masa.
  2. Input ialah dua objek Tarikh (bukan LocalDateTime atau LocalDate).

Penyelesaian:

Hari Kalendar Logik:

Untuk mendapatkan hari kalendar logik, akaun mana untuk tempoh bulan dan tahun lompat, gunakan ChronoUnit.DAYS kaedah:

<code class="java">LocalDate dateBefore;
LocalDate dateAfter;
long daysBetween = DAYS.between(dateBefore, dateAfter);</code>

Hari 24 Jam Literal (Tempoh):

Untuk tempoh 24 jam yang tepat antara dua tarikh, gunakan kelas Tempoh:

<code class="java">LocalDate today = LocalDate.now()
LocalDate yesterday = today.minusDays(1);
Duration oneDay = Duration.between(today.atStartOfDay(), yesterday.atStartOfDay()).toDays();</code>

Tambahan Nota:

  • Jika objek Date mengandungi komponen masa, kaedah atStartOfDay() hendaklah digunakan untuk memastikan pengiraan yang tepat.
  • API Tarikh Java 8 menyediakan pelbagai kaedah lain untuk manipulasi tarikh-masa, termasuk ChronoUnit.MONTHS, ChronoUnit.YEARS dan lagi.

Untuk butiran lanjut, rujuk dokumentasi Java SE 8 Date and Time.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Bilangan Hari Antara Dua Tarikh di Java 8?. 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