ホームページ >ウェブフロントエンド >jsチュートリアル >YYYYMMDD 日付文字列から年齢を効率的に計算するにはどうすればよいですか?
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 中国語 Web サイトの他の関連記事を参照してください。