【问题标题】:Using moment.js to countdown to a specific day and hour使用 moment.js 倒计时到特定的日期和时间
【发布时间】:2019-07-21 12:29:54
【问题描述】:

我正在使用 moment.js 来提供世界各地特定地点的时间和日期。现在我想要一个倒计时计时器,它总是倒计时到下一个星期一和那个星期一的特定小时。

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

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

【问题讨论】:

  • 到目前为止您尝试过什么? ;) 请显示一些代码
  • 下周一具体日期。
  • @DaveNewton Iment 具体如“2019-07-22”。
  • 下周一。如果您知道当前日期,您就知道下周一的日期。

标签: javascript momentjs countdown


【解决方案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

【讨论】:

    【解决方案2】:

    你可以使用最新的 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

    【讨论】:

    • 完美,这就是我想要的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多