20.08.2017, 18:55
|
Профессор
|
|
Регистрация: 20.10.2016
Сообщений: 223
|
|
moment прибавить несколько часов к текущему времени
Здравствуйте!
Подскажите пожалуйста, как, с помощью moment прибавить к текущему времени несколько часов?
Вот так пробую...:
moment.locale('ru');
var DateTime = moment().format('DD-MM-YYYY, HH:mm:ss');
var CorrDate = DateTime.add(2,'hours');
Но, вот такая ошибка выходит: Uncaught TypeError: DateTime.add is not a function
|
|
20.08.2017, 19:19
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,120
|
|
DDim1000,
var CorrDate = moment().add(2,'hours').format('DD-MM-YYYY, HH:mm:ss');
|
|
21.08.2017, 08:54
|
Профессор
|
|
Регистрация: 20.10.2016
Сообщений: 223
|
|
РОНИ,
Спасибо!
Последний раз редактировалось DDim1000, 21.08.2017 в 08:59.
|
|
21.08.2017, 10:04
|
Профессор
|
|
Регистрация: 20.10.2016
Сообщений: 223
|
|
Подскажите еще пожалуйста, почему JS говорить что from() - это не функция?
script.js:377 Uncaught TypeError: UnlockRemindPass.from is not a function
moment.locale('ru');
var DateTime = moment().format('DD-MM-YYYY, HH:mm:ss');
var UnlockRemindPass = moment().add(2,'hours').format('HH:mm:ss');
var UnlockTimeOf = UnlockRemindPass.from(DateTime);
|
|
21.08.2017, 10:54
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,120
|
|
DDim1000,
DateTime и UnlockRemindPass это обычные строки после format и никаких функций кроме строковых, у них нет
|
|
21.08.2017, 14:34
|
Профессор
|
|
Регистрация: 20.10.2016
Сообщений: 223
|
|
Сообщение от рони
|
DDim1000,
DateTime и UnlockRemindPass это обычные строки после format и никаких функций кроме строковых, у них нет
|
А как тогда узнать и вывести разницу во времени?
|
|
21.08.2017, 15:00
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,120
|
|
Сообщение от DDim1000
|
А как тогда узнать и вывести разницу во времени?
|
а зачем если разница известна (2 часа)?
но если хочется, уберите форматирование
DDim1000,
var DateTime = moment();
var UnlockRemindPass = moment().add(2,'hours');
var UnlockTimeOf = UnlockRemindPass.from(DateTime) ;
alert(UnlockTimeOf)
|
|
21.08.2017, 15:32
|
Профессор
|
|
Регистрация: 20.10.2016
Сообщений: 223
|
|
Сообщение от рони
|
а зачем если разница известна (2 часа)?
но если хочется, уберите форматирование
DDim1000,
var DateTime = moment();
var UnlockRemindPass = moment().add(2,'hours');
var UnlockTimeOf = UnlockRemindPass.from(DateTime) ;
alert(UnlockTimeOf)
|
Разницу нужна для информирования пользователя, например, сколько осталось времени до снятия блокировки какого-то его действия.
|
|
22.08.2017, 12:48
|
Профессор
|
|
Регистрация: 20.10.2016
Сообщений: 223
|
|
Сообщение от рони
|
а зачем если разница известна (2 часа)?
но если хочется, уберите форматирование
DDim1000,
var DateTime = moment();
var UnlockRemindPass = moment().add(2,'hours');
var UnlockTimeOf = UnlockRemindPass.from(DateTime) ;
alert(UnlockTimeOf)
|
Извините, я не правильно сформулировал вопрос... Не разницу нужно узнать, а сколько осталось до определенного времени. Если мы прибавим, допустим, к текущему времени 2 часа, то как узнать, сколько осталось времени с текущего момента до полученного времени? Проще сказать, как сделать отсчет времени?
Последний раз редактировалось DDim1000, 22.08.2017 в 12:50.
|
|
22.08.2017, 16:08
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,120
|
|
таймер на moment.js
DDim1000,
возможно в документации есть метод проще
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/locale/ru.js"></script>
</head>
<body>
<p></p>
<script>
moment.locale('ru');
var UnlockRemindPass = moment().add(2,'hours').valueOf();
function fn()
{
var DateTime = moment().valueOf();
var d = UnlockRemindPass - DateTime;
document.querySelector("p").innerHTML = moment(d).utc().format('HH:mm:ss'); ;
d > 0 && window.setTimeout(fn, 300)
}
fn()
</script>
</body>
</html>
|
|
|
|