Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   moment прибавить несколько часов к текущему времени (https://javascript.ru/forum/jquery/70215-moment-pribavit-neskolko-chasov-k-tekushhemu-vremeni.html)

DDim1000 03.09.2017 16:29

Цитата:

Сообщение от рони (Сообщение 462365)
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>

Подскажите пожалуйста, почему разница более чем 12 часов не воспринимать?
Говорит что, с 2017-09-03 18:59:36 и до 2017-09-04 17:59:36, остался один час:haha: . Как так, почему один час?

рони 03.09.2017 17:37

moment timer moment-duration-format
 
DDim1000,
https://github.com/jsmreese/moment-duration-format

<!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>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-duration-format/1.3.0/moment-duration-format.min.js"></script>


</head>

<body>
<p></p>
<script>
moment.locale('ru');
var UnlockRemindPass = moment().add(28,'hours');
function fn()
{
var DateTime = moment();
var d  = UnlockRemindPass - DateTime;
document.querySelector("p").innerHTML = moment.duration(UnlockRemindPass.diff(DateTime)).format("dd[ дн.] hh[ ч.] mm[ мин.] ss[ сек.]");
d > 0 && window.setTimeout(fn, 300)
}

fn()

  </script>
</body>
</html>


<!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>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-duration-format/1.3.0/moment-duration-format.min.js"></script>

</head>

<body>
<p></p>
<script>
moment.locale('ru');

function fn()
{
var m1 = moment('2017-09-03 18:59:36','YYYY-MM-DD HH:mm:ss');
var m2 = moment('2017-09-04 17:59:36','YYYY-MM-DD HH:mm:ss');
var diff = moment.duration(m2.diff(m1)).format("d[ дн.] h:mm:ss"); //
document.querySelector("p").innerHTML = diff
}

fn()

  </script>
</body>
</html>


Часовой пояс GMT +3, время: 17:18.