Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.08.2017, 18:55
Профессор
Отправить личное сообщение для DDim1000 Посмотреть профиль Найти все сообщения от DDim1000
 
Регистрация: 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
Ответить с цитированием
  #2 (permalink)  
Старый 20.08.2017, 19:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,118

DDim1000,
var CorrDate = moment().add(2,'hours').format('DD-MM-YYYY, HH:mm:ss');
Ответить с цитированием
  #3 (permalink)  
Старый 21.08.2017, 08:54
Профессор
Отправить личное сообщение для DDim1000 Посмотреть профиль Найти все сообщения от DDim1000
 
Регистрация: 20.10.2016
Сообщений: 223

РОНИ,
Спасибо!

Последний раз редактировалось DDim1000, 21.08.2017 в 08:59.
Ответить с цитированием
  #4 (permalink)  
Старый 21.08.2017, 10:04
Профессор
Отправить личное сообщение для DDim1000 Посмотреть профиль Найти все сообщения от DDim1000
 
Регистрация: 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);
Ответить с цитированием
  #5 (permalink)  
Старый 21.08.2017, 10:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,118

DDim1000,
DateTime и UnlockRemindPass это обычные строки после format и никаких функций кроме строковых, у них нет
Ответить с цитированием
  #6 (permalink)  
Старый 21.08.2017, 14:34
Профессор
Отправить личное сообщение для DDim1000 Посмотреть профиль Найти все сообщения от DDim1000
 
Регистрация: 20.10.2016
Сообщений: 223

Сообщение от рони Посмотреть сообщение
DDim1000,
DateTime и UnlockRemindPass это обычные строки после format и никаких функций кроме строковых, у них нет
А как тогда узнать и вывести разницу во времени?
Ответить с цитированием
  #7 (permalink)  
Старый 21.08.2017, 15:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,118

Сообщение от DDim1000
А как тогда узнать и вывести разницу во времени?
а зачем если разница известна (2 часа)?
но если хочется, уберите форматирование
DDim1000,
var DateTime = moment();
  	var UnlockRemindPass = moment().add(2,'hours');
    var UnlockTimeOf = UnlockRemindPass.from(DateTime) ;
   alert(UnlockTimeOf)
Ответить с цитированием
  #8 (permalink)  
Старый 21.08.2017, 15:32
Профессор
Отправить личное сообщение для DDim1000 Посмотреть профиль Найти все сообщения от DDim1000
 
Регистрация: 20.10.2016
Сообщений: 223

Сообщение от рони Посмотреть сообщение
а зачем если разница известна (2 часа)?
но если хочется, уберите форматирование
DDim1000,
var DateTime = moment();
  	var UnlockRemindPass = moment().add(2,'hours');
    var UnlockTimeOf = UnlockRemindPass.from(DateTime) ;
   alert(UnlockTimeOf)
Разницу нужна для информирования пользователя, например, сколько осталось времени до снятия блокировки какого-то его действия.
Ответить с цитированием
  #9 (permalink)  
Старый 22.08.2017, 12:48
Профессор
Отправить личное сообщение для DDim1000 Посмотреть профиль Найти все сообщения от DDim1000
 
Регистрация: 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.
Ответить с цитированием
  #10 (permalink)  
Старый 22.08.2017, 16:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,118

таймер на 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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести количество часов и минут до рабочего времени Sigizmund2012 Элементы интерфейса 9 23.04.2015 11:29