范围错误:无效的时间值

ade*_*ye0 19 javascript node.js

启动服务器时经常出现错误。这是错误:

RangeError: Date.toISOString () 处的时间值无效

这是代码:

var start = timestamp;
const expiryDate = (new Date(start)).toISOString().split('T')[0];
Run Code Online (Sandbox Code Playgroud)

Ste*_*tee 36

当 Date 对象包含无效日期时会发生此异常。

new Date('undefined').toISOString()
Run Code Online (Sandbox Code Playgroud)

在此示例中,可以毫无问题地创建 Date 对象,但 toISOString 函数会引发错误。

要解决您的问题,您需要确保时间戳变量包含有效的日期字符串。

  • 这发生在我身上,因为我使用的是代表时间戳的数字字符串而不是数字(例如“1606878000000”而不是“1606878000000”,如果从 HTML 元素中提取值,就会发生这种情况)。我使用“parseInt()”解决了这个问题。 (4认同)