Javascript jQuery倒计时计时器不倒计时

Javascript jQuery倒计时计时器不倒计时,javascript,jquery,timer,countdown,Javascript,Jquery,Timer,Countdown,我正在尝试使用jQuery实现一个倒计时计时器。我有一个结束时间,计时器应该从它开始倒计时,直到当前时间与它相同 我从一个使用PHP获取的web服务中获取结束时间。我获取的结束时间如下所示2015-07-15 17:29:31 我的实际代码行是这样的 var then=<?php echo $server_response; ?>; var then='2015-07-15 17:29:31'; 下面是JavaScript代码: var timer; var then='2015

我正在尝试使用jQuery实现一个倒计时计时器。我有一个结束时间,计时器应该从它开始倒计时,直到当前时间与它相同

我从一个使用PHP获取的web服务中获取结束时间。我获取的结束时间如下所示
2015-07-15 17:29:31

我的实际代码行是这样的

var then=<?php echo $server_response; ?>;
var then='2015-07-15 17:29:31';
下面是JavaScript代码:

var timer;
var then='2015-07-15 17:29:31';
var now = new Date();
//now.setDate(now.getDate() + 7); 

var compareDate=then.getDate()-now.getDate();
timer = setInterval(function() {
  timeBetweenDates(compareDate);
}, 1000);

function timeBetweenDates(toDate) {
  var dateEntered = toDate;
  var now = new Date();
  var difference = dateEntered.getTime() - now.getTime();

  if (difference <= 0) {

    // Timer done
    clearInterval(timer);

  } else {

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

    hours %= 24;
    minutes %= 60;
    seconds %= 60;

    $("#days").text(days);
    $("#hours").text(hours);
    $("#minutes").text(minutes);
    $("#seconds").text(seconds);
  }
}
var定时器;
var then='2015-07-1517:29:31';
var now=新日期();
//now.setDate(now.getDate()+7);
var compareDate=then.getDate()-now.getDate();
计时器=设置间隔(函数(){
时间间隔(比较);
}, 1000);
函数时间间隔数据(toDate){
var dateEntered=toDate;
var now=新日期();
var difference=dateEntered.getTime()-now.getTime();
如果(差异要获取字符串,请使用
newdate(日期)

请参见更改:

var compareDate = new Date(then) - now.getDate();
//                ^^^^^^^^^^^^^^ instead of then.getDate()
timeBetweenDates()中

编辑

同时更改从服务器获取日期的方式。用引号括起来。

var then = '<?php echo $server_response; ?>'; // String
var-then='';//字符串

JS调试101;检查控制台:
Uncaught TypeError:then.getDate不是一个函数
我正在获取NaN。在fiddle中它可以工作;可能的原因是什么@Tushar@SajeevC在我看到代码之前,我不能说。看起来您希望看到的是
Number
之类的内容,而且确实如此not@SajeevC这是服务器端的问题,它没有通过使用JavaScripting找到罪魁祸首。compareDate.parseInt()并没有帮助我解决这个问题@Tushar@SajeevC
var dateEntered = new Date(toDate);
//                ^^^^^^^^^^^^^^^^^ Parse to date instead of using it as it is
var then = '<?php echo $server_response; ?>'; // String