差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン | |||
invalidな日付を判定する [2021/11/26 08:59] – 133.11.144.12 | invalidな日付を判定する [Unknown date] (現在) – 削除 - 外部編集 (Unknown date) 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== Invalid Dateを判定する ====== | ||
- | |||
- | JavaScriptのDateクラスはインスタンス化時に指定した引数が不正な場合、Invalid Dateという Date型の値を返す。 | ||
- | |||
- | ただしこれはDateクラスのインスタンスであることには変わりがないので、True判定されてしまう。 | ||
- | |||
- | またJavascriptではInvalid Dateを判定する方法は存在しないので、別の方法を用意する必要がある。 | ||
- | |||
- | ===== Date.getTime()の返り値を利用する ===== | ||
- | |||
- | const d1 = new Date(' | ||
- | d1.getTime() // 1602288000000 | ||
- | | ||
- | const d2 = new Date(' | ||
- | d2.getTime() // NaN | ||
- | |||
- | Invalid Dateに対して、getTimeメソッドを適用するとNaNが返値される。 | ||
- | |||
- | これを利用して、Invalidか判定する関数を実装。 | ||
- | |||
- | function isInvalidDate(date) { | ||
- | return Number.isNaN(new Date(date).getTime()); | ||
- | } | ||
- | |||
- | これで引数がInvalidの場合はTrueを返値する。 | ||
- | |||
- | ===== 参考にしたサイト ===== | ||
- | |||
- | [[https:// | ||
- | |||