JavaScriptにおける日付の妥当性チェック
それでは、日付の妥当性をチェックする方法を学びましょう。
例えば、1月31日は妥当な日付ですが、
1月32日は妥当ではありません。ご存知の通り、JavaScriptは
日付を自動的に修正します。今回のケースでは、1月32日は自動的に
2月1日になります。
JavaScriptのこの性質を利用して、日付が存在するかどうかを 確認することができます。確認方法:日付オブジェクトを作成し、 日付の部分が変更されたかどうかを調べます。言い換えると、 JavaScriptが渡された日付を修正したかどうかです。修正した場合は、 渡した日付が妥当でないことを意味し、修正しなかった場合は妥当です。
上記の内容を実装してみましょう:
let year = 2025;
let month = 0;
let day = 32;
let date = new Date(year, month, day);
if (date.getFullYear() == year && date.getMonth() == month && date.getDate() == day) {
console.log('妥当です');
} else {
console.log('妥当ではありません');
}
説明されたチェックを実行する関数checkDateを作成してください。
日付が妥当な場合は関数がtrueを返し、そうでない場合はfalseを
返すようにします。1月31日と1月32日に対する
この関数の動作例:
console.log(checkDate(2025, 0, 31)); // true を出力
console.log(checkDate(2025, 0, 32)); // false を出力