JavaScript RangeError: Invalid time value 错误
在无效日期调用方法时会出现“Uncaught RangeError: Invalid time value”错误,例如 new Date('asdf').toISOString()
。 要解决该错误,请在调用该方法之前有条件地检查日期是否有效。
console.log(new Date('asdf')); // 👉️ "Invalid Date"
// ⛔️ Uncaught RangeError: Invalid time value
const d = new Date('asdf').toISOString();
检查浏览器控制台或终端(如果使用 Node.js)中的错误消息。
上面的截图显示错误发生在 index.js 文件的第 4 行。
当提供的字符串不是有效日期时,Date()
构造函数返回“无效日期”值。 在无效日期调用方法会导致错误。
console.log(new Date('asdf')); // 👉️ Invalid Date
console.log(new Date('2022-32-33')); // 👉️ Invalid Date
console.log(new Date('one-two-20')); // 👉️ Invalid Date
要解决“Invalid time value”错误,请仅在有效日期对象上调用日期方法。
console.log(new Date(1317996123)); // 👉️ Fri Jan 16 ...
console.log(new Date('24 September 2022 15:30 UTC')); // 👉️ Sat Sep 24 ...
这是一个函数,我们可以使用它在调用方法之前验证日期。
function dateIsValid(date) {
return !Number.isNaN(new Date(date).getTime());
}
console.log(dateIsValid(1317996123)); // 👉️ true
console.log(dateIsValid('24 September 2022 15:30 UTC')); // 👉️ true
console.log(dateIsValid('asdf')); // 👉️ false
console.log(dateIsValid('2022-32-33')); // 👉️ false
如果日期无效,
getTime()
方法将返回一个 NaN(不是数字)值。
我们检查该值是否不是 NaN 并返回结果。 如果该值不是 NaN,则我们有一个可以安全调用方法的有效日期。
function dateIsValid(date) {
return !Number.isNaN(new Date(date).getTime());
}
const date = '2022-32-33';
if (dateIsValid(date)) {
console.log(new Date(date).toISOString());
} else {
// 👇️ this runs
console.log('not a valid date');
}
在对日期调用 toISOString()
方法之前,我们对其进行验证。 这使我们能够避免出现“Invalid time value” RangeError
。
总结
在无效日期调用方法时会出现“Uncaught RangeError: Invalid time value”错误,例如 new Date('asdf').toISOString()
。 要解决该错误,请在调用该方法之前有条件地检查日期是否有效。
相关文章
使用 CSS 和 JavaScript 制作文本闪烁
发布时间:2023/04/28 浏览次数:146 分类:CSS
-
本文提供了使用 CSS、JavaScript 和 jQuery 使文本闪烁的详细说明。
在 PHP 变量中存储 Div Id 并将其传递给 JavaScript
发布时间:2023/03/29 浏览次数:69 分类:PHP
-
本文教导将 div id 存储在 PHP 变量中并将其传递给 JavaScript 代码。
在 JavaScript 中从字符串中获取第一个字符
发布时间:2023/03/24 浏览次数:93 分类:JavaScript
-
在本文中,我们将看到如何使用 JavaScript 中的内置方法获取字符串的第一个字符。
在 JavaScript 中获取字符串的最后一个字符
发布时间:2023/03/24 浏览次数:141 分类:JavaScript
-
本教程展示了在 javascript 中获取字符串最后一个字符的方法