Javascript jQuery倒计时直到今天或明天上午10:00

Javascript jQuery倒计时直到今天或明天上午10:00,javascript,jquery,date,countdown,Javascript,Jquery,Date,Countdown,我需要一个小剧本,我有点困惑 我想使用这个插件: 目标:有一个倒计时,从现在算到上午10:00-如果是上午0-9:59:59,从今天算到10:00,如果是10:00:00之后,从今天算到明天10:00。 这可以理解吗 下面是我对javascript/jquery的需求(我知道这不起作用): 以下应该可以工作(console.log()是为测试目的添加的)。请注意,它将使用浏览器的时区而不是UTC时间 var currentDate=new Date(new Date().getTime());

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

我想使用这个插件:

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

下面是我对javascript/jquery的需求(我知道这不起作用):

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

var currentDate=new Date(new Date().getTime());
var hours=currentDate.getHours();
var endTime=新日期(currentDate);
endTime.setMinutes(0);
endTime.setSeconds(0);
结束时间.设定小时数(10);
如果(小时数>=10){
endTime.setDate(endTime.getDate()+1);
}
console.log(endTime);

$(“#倒计时”)。倒计时({until:endTime,格式:'HMS')如果需要第二天,则增加当前日期,然后通过年、月、日和小时(静态10)来创建结束日期

$(函数(){
var currentDate=新日期();
var hours=currentDate.getHours();
var日;
如果(小时数>=10){
day=currentDate.getDate()+1;
}否则{
day=currentDate.getDate();
}
var endTime=新日期(currentDate.getFullYear(),currentDate.getMonth(),day,10);
$(“#倒计时”)。倒计时({until:endTime,格式:'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;
}
功能倒计时(id,date=“2018年1月5日”){
var int=setInterval(函数(){
//获取今天的日期和时间
var now=new Date().getTime();
//找出现在和倒计时日期之间的距离
var距离=日期-现在;
//天、小时、分钟和秒的时间计算
变量天数=数学楼层(距离/(1000*60*60*24));
可变小时数=数学楼层((距离%(1000*60*60*24))/(1000*60*60));
var分钟=数学楼层((距离%(1000*60*60))/(1000*60));
var秒=数学楼层((距离%(1000*60))/1000);
//使用id=“demo”在元素中显示结果
document.getElementById(id).innerHTML=days+d+hours+h
+分钟+米+秒+秒;
//如果倒计时结束,写一些文字
如果(距离<0){
净间隔(x);
document.getElementById(id).innerHTML=“00d 00h 00m 00s”;
}
}, 1000);
返回int;
}
date
参数中,您需要输入日期和时间(例如2018年1月1日00:00:00),并在
id
参数中输入id选择器(不是
“#myid”
,而是只输入名称
“myid”

我希望这会有用


你可以在行动中看到它

请检查此问题它可能有助于第二天的工作,但不适用于当前一天。如果将10点更改为12点或更高,它将不再工作…请确保在
endTime.setHours()
hours>=10行将10点更改为12点。还请记住,您当前的时区已被使用。哦!非常感谢。
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;
}