使用moment.js倒数到特定的日期和时间

时间:2019-07-21 12:29:54

标签: javascript momentjs countdown

我正在使用moment.js提供世界各地特定位置的时间和日期。现在,我想使用一个倒数计时器,该计时器将一直倒数到下一个星期一以及该星期一的特定时间。

我已经看到一些接近的解决方案(但没有雪茄),但是这些解决方案通常要牢记特定的日期。

我只希望它在特定时间对下一个下周一进行每小时倒计时。因此,例如,输出可以是“到开馆的时间:2天6个小时”,这将来自我在moment.js中已经拥有的当前本地时间。

2 个答案:

答案 0 :(得分:1)

您可以使用最新的moment.js fromNow函数。

以下是示例,如果营业日期为下周一星期一10:00

var openingDate = moment().day(1).hour(10).minute(0).second(0);
var fromNow = openingDate.fromNow();
console.log(fromNow);

将输出in 19 hours

答案 1 :(得分:1)

您可以使用此代码,我可以亲自使用。 您可以根据需要更改秒数,例如当天的12960000秒

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <script src="https://momentjs.com/downloads/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="countdown"></div>
    <title>Static Template</title>
  </head>
  <body>
   <script>

    var countDownDate = moment().add(12960000, 'seconds');

      var x = setInterval(function() {
        diff = countDownDate.diff(moment());
    
        if (diff <= 0) {
          clearInterval(x);
           // If the count down is finished, write some text 
          $('.countdown').text("EXPIRED");
        } else
          $('.countdown').text(moment.utc(diff).format("HH:mm:ss"));

      }, 1000);
     </script>
  </body>
</html>

enter code here