Я создаю тайм-аут на основе ввода пользователя с форматом ввода: 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 минут.
Я попробовал метод преобразования, найденный здесь , но это статично; он только конвертирует базовые милисекунды в часы. Мне нужно что-то динамическое.
Я также пытался сделать это с объектами Date, но не получилось. Как я могу продолжать об этом?