Получить и установить время от даты объекта

Я работаю над часами pomodoro в Javascript.

Я немного смущен Date Obj. Согласно приведенному ниже коду, идея заключается в том, что значения 'Session Timer' и 'Break Timer' будут храниться в глобальном объекте, чтобы их можно было получать и / или обновлять. Однако меня смущает следующее:

// The following stores the current time
// which makes sense.
const meter = {
    break : new Date(),
    session : new Date()
};
// However, when I set the minutes on the Date obj
// the above break & session props are no longer
// a Date obj, instead they are number.
// So, I cant use the 'getMinutes()'
const meter = {
    break : new Date().setMinutes( 5 ), // is a number, not Date anymore!
    session : new Date().setMinutes( 10 ) // is a number, not Date anymore!
};

Я мог бы передать номера перерыва / сессии через new Date() метод для создания новой даты, но мне интересно, как бы я создал таймер (в основном в формате [час]:[мин]:[сек]). Должен ли я делать что-то, как указано каждую секунду, прежде чем обновлять код:

let number = 1470650701308; // time in milliseconds as returned by methods (getMinutes(), getHours(), getSeconds())
let hours = 1470650701308 / ( 1000 * 60 * 60 ); // ms * sec * min 
let minutes = 1470650701308 / ( 1000 * 60 ); // ms * sec
let seconds = 1470650701308 / ( 1000 ); // ms

Итак, мой вопрос: как получить время в часах / минутах и ​​секундах, чтобы я мог обновлять свои часы каждую секунду?

Спасибо

1 ответ

Метод setminutes изменяет объект и возвращает int.

попробуйте это вместо:

const meter = {
    break : new Date(),
    session : new Date()
};

meter.break.setMinutes(5);
meter.session.setMinutes(10);
Другие вопросы по тегам