使用 YYYYMMDD 格式的出生日期計算年齡
根據出生日期計算個人的年齡是一項常見的程式設計任務。給定格式為 YYYYMMDD 的出生日期,可以採用多種方法。該問題探討了目前使用的解決方案的替代解決方案:
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);
建議的解決方案使用substr 方法解決了該問題,提供了一種更簡潔和優化的方法:
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; }
函數直接利用Date物件建構出生日期並提取必要的信息,從而簡化了計算。它還會檢查當年尚未出現出生月份和日期的情況,從而相應地減少年齡。
雖然原始解決方案有效,但它使用 substr 方法來提取日期元件,這可能會導致混亂和潛在的錯誤。所提出的函數提供了一種更直接、更有效的方法,用於根據提供的 YYYYMMDD 格式的出生日期計算年齡。
以上是如何根據 YYYYMMDD 日期字串有效計算年齡?的詳細內容。更多資訊請關注PHP中文網其他相關文章!