倒计时器从当前日期到javascript中的特定日期

时间:2016-01-16 07:56:02

标签: javascript countdown

//这就是我的想法..但我猜当前的日期格式和指定的日期格式是不同的。请帮忙。

    `<script>
     var oneDay = 24*60*60*1000; // hours*minutes*seconds*milliseconds
     var firstDate = new Date();
     var secondDate = new Date(2016,02,20);
     var diffDays = Math.round(Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay)));
     document.getElementById("demo").innerHTML =diffDays;
     </script>`

3 个答案:

答案 0 :(得分:0)

您可以使用类似

的内容
(new Date(new Date(2016, 01, 05).toDateString()).getTime() - new Date(new Date().toDateString()))/(24*60*60*1000)

新Date()返回的时间与新Date(yyyy,mm,dd)之间存在差异。首先将返回当前时间的日期,第二个将返回日期,时间为00:00 am。这将在时间戳上产生差异,因此结果会有所不同。

如果您有更多与日期相关的操作,您可以随时使用momentjs。

答案 1 :(得分:0)

Date.prototype.getTime()会返回以毫秒为单位的差异,因此您应该在 var oneDay = 24*60*60*1000; // hours*minutes*seconds*milliseconds var firstDate = new Date(); var secondDate = new Date(2016,02,20); var diffDays = Math.abs(firstDate - secondDate); document.getElementById("demo").innerHTML = Math.round (diffDays/oneDay); (1000 * 3600 * 24)上设置时差。

onCancelled()

答案 2 :(得分:0)

你可以这样做 -

<script>
   var oneDay = 24*60*60*1000; // hours*minutes*seconds*milliseconds
   var firstDate = new Date();
   var secondDate = new Date(2016,02,20);
   var diffDays = 'expired';
   if(secondDate>=firstDate){
      diffDays = parseInt((secondDate - firstDate)/oneDay) + ' days left';
   }
   document.getElementById("demo").innerHTML =diffDays;
</script>

这里是小提琴fiddle