【问题标题】:JavaScript - Reset timer after < 0JavaScript - < 0 后重置计时器
【发布时间】:2020-06-25 05:01:14
【问题描述】:
var start = new Date;
start.setHours(14, 0, 0); //2pm

var x = setInterval(function() {

  var now = new Date().getTime();

  var distance = start - now;

  //var days = Math.floor(distance / (1000 * 60 * 60 * 24));
  var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
  var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
  var seconds = Math.floor((distance % (1000 * 60)) / 1000);

  document.getElementById("countdown").innerHTML = "Order before " + /*days + "d " +*/ hours + "h "
  + minutes + "m " + seconds + "s " + " for delivery tomorrow";

  if (distance < 0) {
    clearInterval(x);
    document.getElementById("countdown").innerHTML = "EXPIRED";
  }
}, 1000);

目前我有这个 JS,它在下午 2 点之后显示“已过期”,但我不再想要那个,并且不知道如何重置计时器并让它开始计数到明天下午 2 点

【问题讨论】:

    标签: javascript timer reset


    【解决方案1】:
    
    var d = new Date();
    var local_date = new Date( Date.UTC( d.getFullYear(), d.getMonth(), d.getDate(), 14,0) );
    
    var now = new Date().getTime();
    var distance = local_date - now;
    

    如上所示更改您的代码。 使用本地日期和时间设置 local_date 变量。 local_date 也是一个时间。

    您也可以根据您的要求忽略 UTC。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-11
      • 2015-12-07
      • 1970-01-01
      • 1970-01-01
      • 2018-08-21
      • 1970-01-01
      • 2016-03-04
      • 1970-01-01
      相关资源
      最近更新 更多