我该如何确定这个日期?

时间:2019-11-17 21:53:03

标签: node.js date discord discord.js

<Grid.Resources>

我正在为Discord.JS上的赠品创建一个机器人。它将引发错误let time = args.shift(); let timeUnit = time.split('').pop(); if (timeUnit === 'd') timeUnit = 86400; else if (timeUnit === 'h') timeUnit = 3600; else if (timeUnit === 'm') timeUnit = 60; else { time.push(timeUnit); timeUnit = 1; } time *= timeUnit *= 1000; var endingTime = new Date(); endingTime.setTime(endingTime.getTime() + time); console.log(endingTime); // When I type in _gcreate (the command) 1d it says the error: // Invalid Date // Even though I tell it to add milliseconds and whatnot.

2 个答案:

答案 0 :(得分:0)

这非常容易调试。如果您使用逐步调试器,或者只是在控制台上逐行浏览,您会发现您的乘法运算将time设置为NaN,因为您无法将{{ 1}}之类的数字,例如"1d"

首先需要将864001分开。

(而且,"1d"在一行上使用两次是很不常见的。第二行可能只用*=。)

答案 1 :(得分:0)

因此Date()返回无效的原因是因为new Date()已经是有效的UNIX时间。请参阅this以供参考。尝试做Date().setTime(/*do stuff in here/*)-但这没用的原因是因为new Date()已经是UNIx时间戳了。

我还建议您查看MomentJS,它可能更容易设置。 moment.set(timeGoesHere)会很有用。