jQuery倒计时到今天或明天上午10点

时间:2017-05-24 08:11:50

标签: javascript jquery date countdown

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

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

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

这是我需要的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'});

4 个答案:

答案 0 :(得分:2)

以下内容应该有效(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'});

答案 1 :(得分:0)

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



Solrj

$(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'});
});




答案 2 :(得分:0)

你可以这样处理。

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

答案 3 :(得分:0)

这是我用于我网站的功能:

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选择器(不是{{1但只有名称'#myid')。

我希望这可能有用。

您可以在行动here

中看到它