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!