首頁 >web前端 >js教程 >如何根據 YYYYMMDD 日期字串有效計算年齡?

如何根據 YYYYMMDD 日期字串有效計算年齡?

DDD
DDD原創
2024-12-17 20:08:16194瀏覽

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

使用 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn