如何获得仅显示小时数的倒计时?

Posted

技术标签:

【中文标题】如何获得仅显示小时数的倒计时?【英文标题】:How to get a countdown just showing hours? 【发布时间】:2016-04-06 22:23:18 【问题描述】:

我需要倒计时方面的帮助。我使用以下脚本生成倒计时。

var endTime = new Date(2016, 04, 10).getTime() / 1000;

function setClock() 
    var elapsed = new Date().getTime() / 1000;
    var totalSec =  endTime - elapsed;
    var d = parseInt( totalSec / 86400 );
    var h = parseInt( totalSec / 3600 ) % 24;
    var m = parseInt( totalSec / 60 ) % 60;
    var s = parseInt(totalSec % 60, 10);
    var result = d;
    document.getElementById('timeRemaining').innerhtml = result;
    setTimeout(setClock, 1000);


setClock();

我只想查看小时 - 在这一刻,当我删除天、分、秒时,它只会显示 24 小时,即使它是更长的时间。

【问题讨论】:

Code for a simple javascript countdown timer?的可能重复 【参考方案1】:

如果我理解你的问题,这应该可行:

function setClock() 
    var elapsed = new Date().getTime() / 1000;
    var totalSec =  endTime - elapsed;
    document.getElementById('timeRemaining').innerHTML =  parseInt( totalSec / 3600 );
    setTimeout(setClock, 1000);

【讨论】:

【参考方案2】:

如果您只想倒计时直到您的日期(2016 年 5 月 10 日),这里有一个解决方案:

var endTime = new Date('2016/05/10').getTime()/1000;

function setClock()
  var currDate = new Date().getTime()/1000;

  var timeRemaining = Math.ceil((endTime - currDate)/(60*60));
  /*time remaining is in hours. Math.ceil will make sure that 1 hour is shown
    if time remaining is less than 1 hour unless you want to show mins */

  document.getElementById('timeRemaining').innerHTML = timeRemaining; 

  setTimeout(setClock, 1000);


setClock();

https://jsbin.com/buxetenika/edit?html,js,output

这应该让你开始......希望这会有所帮助

【讨论】:

以上是关于如何获得仅显示小时数的倒计时?的主要内容,如果未能解决你的问题,请参考以下文章

jquery倒计时插件,日期来自Mysql数据库

带有年、月、日、小时和分钟的 date-fns 倒计时

24 小时倒计时计时器,带有三个单独的文本视图,分别显示小时、分钟、秒

MATLAB计时以小时或分钟显示

Flutter:显示天、小时、分钟和秒的倒计时小部件

如何实现游戏中的在线计时器和离线计时器