Rumah > Java > javaTutorial > Bagaimanakah Java Boleh Mengira Bilangan Hari Antara Dua Tarikh dengan Cekap?

Bagaimanakah Java Boleh Mengira Bilangan Hari Antara Dua Tarikh dengan Cekap?

Patricia Arquette
Lepaskan: 2024-12-13 08:17:10
asal
439 orang telah melayarinya

How Can Java Efficiently Calculate the Number of Days Between Two Dates?

Mengira Hari Antara Dua Tarikh dengan Java

Menentukan perbezaan antara dua tarikh ialah tugas pengaturcaraan biasa. Java menyediakan beberapa kelas dan kaedah untuk memudahkan proses ini, termasuk mengendalikan tahun lompat dan musim panas.

Mengira Hari Menggunakan Java 8 Time API

Java 8 memperkenalkan java baharu. pakej masa, yang menyediakan API yang lebih moden dan mudah digunakan untuk bekerja dengan tarikh dan masa. Untuk mengira hari antara tarikh menggunakan Java 8, ikut langkah berikut:

  1. Hilangkan setiap rentetan tarikh menggunakan DateTimeFormatter.ofPattern("dd MM yyyy").
  2. Kira tempoh antara kedua-dua tarikh menggunakan Duration.between().
  3. Tukar tempoh kepada hari menggunakan Duration.toDays().

Contoh:

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd MM yyyy");
String inputString1 = "23 01 1997";
String inputString2 = "27 04 1997";

try {
    LocalDateTime date1 = LocalDate.parse(inputString1, dtf);
    LocalDateTime date2 = LocalDate.parse(inputString2, dtf);
    long daysBetween = Duration.between(date1, date2).toDays();
    System.out.println("Days: " + daysBetween);
} catch (ParseException e) {
    e.printStackTrace();
}
Salin selepas log masuk

Mengira Hari Kalendar

Perhatikan bahawa pendekatan di atas mengira hari sebagai ketulan 24 jam generik, bukan hari kalendar. Untuk hari kalendar, gunakan java.time.temporal.ChronoUnit.DAYS dan kaedah antara()nya.

long daysBetween = ChronoUnit.DAYS.between(date1, date2);
Salin selepas log masuk

Mengendalikan Tahun Lompat dan Musim Panas

Kedua-dua Java API 8 kali dan kelas SimpleDateFormat yang disediakan dalam jawapan asal secara automatik mengendalikan tahun lompat dan musim panas pelarasan.

Menukar Rentetan kepada Tarikh

Elakkan penukaran rentetan yang tidak perlu kepada tarikh dan belakang. SimpleDateFormat ialah alat yang berkuasa, tetapi ia tidak perlu menghuraikan dan memformat setiap tarikh dua kali. Lebih cekap menggunakan kaedah LocalDateTime.parse() secara langsung.

Atas ialah kandungan terperinci Bagaimanakah Java Boleh Mengira Bilangan Hari Antara Dua Tarikh dengan Cekap?. 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