Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengira Umur dengan Cekap daripada Rentetan Tarikh YYYYMMDD?

Bagaimanakah Saya Boleh Mengira Umur dengan Cekap daripada Rentetan Tarikh YYYYMMDD?

DDD
DDDasal
2024-12-17 20:08:16193semak imbas

How Can I Efficiently Calculate Age from a YYYYMMDD Date String?

Kira Umur Menggunakan Tarikh Lahir dalam Format YYYYMMDD

Mengira umur individu berdasarkan tarikh lahir mereka adalah tugas pengaturcaraan biasa. Memandangkan tarikh lahir dalam format YYYYMMDD, pelbagai pendekatan boleh digunakan. Soalan ini meneroka penyelesaian alternatif kepada penyelesaian yang sedang digunakan:

var dob = '19800810';
var year = Number(dob.substr(0, 4));
var month = Number(dob.substr(4, 2)) - 1;
var day = Number(dob.substr(6, 2));
var today = new Date();
var age = today.getFullYear() - year;
if (today.getMonth() < month || (today.getMonth() == month && today.getDate() < day)) {
  age--;
}
alert(age);

Penyelesaian yang dicadangkan menangani isu tersebut dengan kaedah substr, memberikan pendekatan yang lebih ringkas dan dioptimumkan:

function getAge(dateString) {
    var today = new Date();
    var birthDate = new Date(dateString);
    var age = today.getFullYear() - birthDate.getFullYear();
    var m = today.getMonth() - birthDate.getMonth();
    if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
        age--;
    }
    return age;
}

Fungsi ini memudahkan pengiraan dengan menggunakan objek Tarikh untuk membina tarikh lahir dan mengekstrak maklumat yang diperlukan. Ia juga menyemak senario di mana bulan dan hari lahir belum lagi berlaku pada tahun semasa, mengurangkan umur sewajarnya.

Walaupun penyelesaian asal berfungsi, ia menggunakan kaedah substr untuk mengekstrak komponen tarikh, yang boleh membawa kepada kekeliruan dan kemungkinan kesilapan. Fungsi yang dicadangkan menawarkan kaedah yang lebih mudah dan cekap untuk mengira umur berdasarkan tarikh lahir yang disediakan dalam format YYYYMMDD.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Umur dengan Cekap daripada Rentetan Tarikh YYYYMMDD?. 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