← エラー辞典に戻る

JavaScript

🚨 RangeError: Invalid time value

new Date()に無効な日付文字列を渡している

😰 こんな症状

不正なフォーマットの日付文字列でDateオブジェクトを作ろうとしてエラーになる。日付処理で起きるよ。

🔍 原因

new Date()に無効な日付文字列を渡しているよ。ブラウザによって解釈が異なるフォーマット(例: '2024/1/1'はSafariで無効)や、存在しない日付(2月30日等)を渡すとInvalid Dateになるんだ。

❌ エラーが起きるコード

// new Date()に無効な日付文字列を渡している。フォーマットが正しくない。

✅ 直し方

1. 日付文字列のフォーマットを「YYYY-MM-DD」形式(ISO 8601)にする。 2. または個別に年月日を指定する:new Date(2024, 0, 1)(月は0始まり)。 3. date-fnsやdayjsなどのライブラリを使うとパースが安全。

✅ 修正後のコード

// 日付文字列のフォーマットを「YYYY-MM-DD」形式にする。または個別に年月日を指定する。

この解決法は役立ちましたか?

🔗 関連するエラー

🔗 別カテゴリの関連エラー

📖 この問題を学べるレッスン

JavaScriptコースで基礎から学ぶ →

📝 関連ブログ記事

📖 関連する用語

🚀 JavaScriptコースで基礎を学ぼう!

エラーの原因を根本から理解するには、基礎を体系的に学ぶのが近道です。完全無料・登録不要。

JavaScriptコースを始める →

❓ 関連するQ&A