使用javascript计算特定日期的天数,小时数和分钟数

时间:2016-03-23 09:42:14

标签: javascript jquery date flipclock

我有这个脚本,它计算从5月8日之前的时间到5月8日23:59:59 - 1秒之间的日期,时间和分钟,并将其显示为FlipClock的计数器,但由于某种原因它缺少2天1小时。从今天3月23日10:37(24小时制)开始,有48天,13小时,23分钟,但我的时钟显示为46天,12小时,23分钟。

应该很简单,但我无法弄清楚2天和1小时的遗失。

我有这个javascript:

// Grab the current date
   var currentDate = new Date();

// Set the date to May 8
   var futureDate = new Date(2016, 04, 08, 23, 59, 59);

 // Calculate the difference in seconds between the future and current date
   var diff = futureDate.getTime() / 1000 - currentDate.getTime() / 1000;

   var clock = new FlipClock($('.clock'), diff, {
       clockFace: 'DailyCounter',
       countdown: true,
       showSeconds: false,
       language: 'da'
   });

1 个答案:

答案 0 :(得分:0)

如果我不得不做任何事情,我通常使用momentjs,这并不意味着你必须这样做,但我知道它有效,而且它对我的标准来说足够正常。

持续时间格式不是时刻js的一部分,它是一个功能。你可以自己滚动一个,但John Madhavan-Reese已经done this

var futureDate = moment(new Date(2016, 04, 08, 23, 59, 59));

setInterval(function() {
  var ms = moment().diff(moment(futureDate));
  var duration = moment.duration(ms).format("yy-MM-dd hh:mm:ss");
  $("#time").text(duration);
}, 200);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.12.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-duration-format/1.3.0/moment-duration-format.min.js"></script>

<span id="time"><span>