【发布时间】:2019-02-06 18:02:02
【问题描述】:
我正在根据用户输入创建超时,输入格式为:1min 或 2h,并通过以下代码确定是一分钟还是一小时;
if (duration.includes("h", 1)) {
/* If the collectedDuration includes "h" in it,
parse the string into an integer and multiply it with an hour in miliseconds */
const intDuration = parseInt(duration, 10);
const parsedDuration = intDuration * 3600000;
// Create the timer with setTimeout where parsedDuration is the delay
createTimer(item, parsedDuration);
} else if (duration.includes("m", 1)) {
const intDuration = parseInt(duration, 10);
const parsedDuration = intDuration * 60000;
createTimer(item, parsedDuration);
}
我想做的事:弄清楚在 setTimeout 在任何给定时间完成之前还剩下多少时间。例如:定时器创建1小时15分钟后,我使用命令显示剩余时间为45分钟。
我尝试了找到here的转换方法,但那是静态的;它仅将基本毫秒转换为小时。我需要一些动态的东西。
我也尝试过使用 Date 对象但失败了。我该怎么办?
【问题讨论】:
-
你需要一个标签来显示剩余多少吗?
-
您能否提供一个 sn-p minimal reproducible example 以便我们可以重现并了解您正在尝试做什么?
-
^^ 帮助我们帮助你
-
道歉。这是针对 Discord 机器人的,代码相当冗长。这是一段代码中的 sn-p,它会在一段时间内创建赠品。我想要做的是,在使用
setTimeout创建计时器后,使用一个命令显示赠品结束的时间。这个命令的完整代码可以在on GitHub找到。
标签: javascript datetime settimeout