Получить и установить время от даты объекта
Я работаю над часами 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);