- + JavaScript の質問用スレッド vol.121 + [無断転載禁止]©2ch.net
214 :デフォルトの名無しさん[sage]:2016/07/17(日) 17:25:35.91 ID:UWgEbhve - >>193
「1996年10月21日」生まれの人が「2010年10月18日」に誕生日を計算する場合、「2010-1996=14」では誕生日を求められない(まだ、2010年の誕生日が訪れていないからだ) function calculateAgeのコード制作者はnew Dateを2000年に統一して差分をミリ秒単位でとることで誕生日が訪れているかを判定できると考えた これは一見、正常動作しているように見えるが、どちらか一方が閏年だった場合に2/28の有無で24時間分のズレが生じるので完璧ではない 確実に判定するには 「年の差分」を得た後に「月の差分」「日の差分」「時間の差分(一日分で単位はミリ秒」を比較して誕生日が訪れたか確認する事だろう
|