【JavaScript】生年月日から年齢を計算する

1 min read読了の目安(約500字

生年月日の文字列から年齢を計算するutil関数を書いたのでメモを残します。

年月日でDateを生成する場合の引数は、(年, 月インデックス, 日付)です。
年、日は実際の数値ですが、月はインデックス(実際の数値-1)であることに注意します。

/**
 * 生年月日から年齢を計算
 * @param {String} yyyy/mm/dd
 * @return {Number} age
 */
static getAgeFromBirthday (birthday) {
  const ymd = birthday.split('/')
  const today = new Date()
  const thisYearBirthday = new Date(today.getFullYear(), ymd[1] - 1, ymd[2])

  const age = today.getFullYear() - ymd[0]

  // 今年の誕生日がまだなら1歳減らして返却
  return today < thisYearBirthday ? age - 1 : age
}