Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Mengira Umur dengan Tepat di Java Menggunakan LocalDate?

Bagaimanakah Saya Boleh Mengira Umur dengan Tepat di Java Menggunakan LocalDate?

Barbara Streisand
Barbara Streisandasal
2024-12-19 16:48:14603semak imbas

How Can I Accurately Calculate Age in Java Using LocalDate?

Mengira Umur dalam Java: Panduan Komprehensif

Dalam bidang pengaturcaraan Java, mengira umur seseorang mungkin timbul sebagai tugas biasa. Untuk menangani keperluan ini, pembangun mendapatkan panduan tentang pendekatan terbaik untuk mengembalikan usia sebagai integer.

Pelaksanaan Semasa:

Kod yang disediakan bergantung pada objek Tarikh dan kaedah getYear() ditamatkan:

public int getAge() {
    long ageInMillis = new Date().getTime() - getBirthDate().getTime();
    Date age = new Date(ageInMillis);
    return age.getYear();
}

Dipertingkat Pendekatan:

JDK 8 memperkenalkan penyelesaian elegan menggunakan LocalDate:

public static int calculateAge(LocalDate birthDate, LocalDate currentDate) {
    if ((birthDate != null) && (currentDate != null)) {
        return Period.between(birthDate, currentDate).getYears();
    } else {
        return 0;
    }
}

Faedah Menggunakan LocalDate:

  • Tepat pengiraan kerana ia mengendalikan闰年和短月
  • Mengelakkan kerumitan yang dikaitkan dengan objek Tarikh dan milisaat
  • Memudahkan pengendalian nilai null secara eksplisit

Contoh Ujian Unit:🎜>Ujian Unit Contoh:

Untuk menunjukkan keberkesanan pendekatan yang dicadangkan, pertimbangkan ujian JUnit berikut:

public class AgeCalculatorTest {
    @Test
    public void testCalculateAge_Success() {
        LocalDate birthDate = LocalDate.of(1961, 5, 17);
        int actual = AgeCalculator.calculateAge(birthDate, LocalDate.of(2016, 7, 12));
        Assert.assertEquals(55, actual);
    }
}

Pemansuhan Versi JDK Lama:

Adalah penting untuk ambil perhatian bahawa semua versi Java sebelum JDK 8 mempunyai mencapai penghujung sokongan mereka. Oleh itu, menerima JDK 8 atau lebih baru adalah sangat disyorkan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Umur dengan Tepat di Java Menggunakan 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