jQuery 倒计时获取时间,直到今天或明天上午 10:00



我需要一个小脚本,我有点困惑。

我想使用这个插件:http://keith-wood.name/countdown.html

目标:有一个倒计时,从现在算到上午 10:00 - 如果是凌晨 0-9:59:59 算到今天 10 点,如果是 10:00:00 之后,则算到明天 10:00。这是可以理解的吗?

这是我对javascript/jquery的需求(我知道这行不通(:

var currentDate = new Date(new Date().getTime());
var hours = currentDate.getHours();
var endTime;
    if(hours >= 10){
        endTime = give me next day 10:00
    } else {
        endTime = give me this day 10:00
    }
$("#countdown").countdown({until: endTime, format: 'HMS'});

以下内容应该有效(console.log()是为了测试目的而添加的(。请注意,它将使用浏览器的时区而不是 UTC 时间。

var currentDate = new Date(new Date().getTime());
var hours = currentDate.getHours();
var endTime = new Date(currentDate);
endTime.setMinutes(0);
endTime.setSeconds(0);
endTime.setHours(10);
if(hours >= 10){
    endTime.setDate(endTime.getDate() + 1);
}
console.log(endTime);
$("#countdown").countdown({until: endTime, format: 'HMS'});

你可以这样处理它。

currentDate.setHours(10,00,00);
if(hours >= 10){
    endTime = currentDate.AddDays(1);
}
这是我

用于我的网站的函数:

function countDown(id, date = "Jan 5 2018") {
  var int = setInterval(function() {
    // Get todays date and time
    var now = new Date().getTime();
    // Find the distance between now an the count down date
    var distance = date - now;
    // Time calculations for days, hours, minutes and seconds
    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);
    // Display the result in the element with id="demo"
    document.getElementById(id).innerHTML = days + "d " + hours + "h "
                                          + minutes + "m " + seconds + "s ";
    // If the count down is finished, write some text 
    if (distance < 0) {
      clearInterval(x);
      document.getElementById(id).innerHTML = "00d 00h 00m 00s";
    }
  }, 1000);
  return int;
}

date 参数中,您需要输入日期和时间(例如 2018 年 1 月 1 日 00:00:00(,在id参数中输入 id 选择器(不是'#myid',而只是名称 'myid' (。

我希望这可以有用。

你可以在这里看到它的实际应用

如果需要第二天,则递增当前日期,然后传递年,月,日和小时(静态10(以创建结束日期。

$(function() {
  var currentDate = new Date();
  var hours = currentDate.getHours();
  var day;
  
  if(hours >= 10){
      day = currentDate.getDate() + 1;
  } else {
      day = currentDate.getDate();
  }
  
  var endTime = new Date(currentDate.getFullYear(), currentDate.getMonth(), day, 10);  
  $("#countdown").countdown({until: endTime, format: 'HMS'});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-countdown/2.0.2/jquery.plugin.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-countdown/2.0.2/jquery.countdown.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-countdown/2.0.2/jquery.countdown.min.css" />
<div id='countdown'></div>

最新更新