Javascript 表示一天中剩余的时间



我了解如何在一定程度上(到指定日期,即 YYYY-MM-DD)使用倒数计时器和日期计时器,但我正在从事一个 Web 开发学院项目,我希望我的一个网页(JSP 文件)有一个倒数计时器,其中包含 Web 应用程序启动后一天剩余的秒数。

该网页还将包含一个Ajax函数,用户可以在其中单击一个按钮,并且会出现一个随机的激励信息(我知道这段特定的代码,但它只是让你了解为什么我想要这个倒数计时器)。

Moment.js 是一个很好的日期数学库。 http://momentjs.com/

使用Moment,你可以做一个这样的单行。

<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.4/moment.min.js"></script>
<script>
  document.write(moment.duration(moment().add(1, 'day').startOf('day').diff(moment())).asSeconds())
</script>

或更易于理解的版本:

<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.4/moment.min.js"></script>
<script>
  var now = moment(),
    tomorrow = moment().add(1, 'day').startOf('day'),
    difference = moment.duration(tomorrow.diff(now))
  document.write(difference.asSeconds())
</script>

已更新

只需将从Date.now()获得的 Date 对象与明天的日期(从第一个日期对象创建,添加一天)进行比较;

var actualTime = new Date(Date.now());
var endOfDay = new Date(actualTime.getFullYear(), actualTime.getMonth(), actualTime.getDate() + 1, 0, 0, 0);
var timeRemaining = endOfDay.getTime() - actualTime.getTime();
document.getElementById('timeRemaining').appendChild(document.createTextNode(timeRemaining / 1000 + " seconds or " + timeRemaining / 1000 / 60 / 60 + " hours"));
document.getElementById('dayProgression').value = 1 - (timeRemaining / 1000 / 60 / 60 / 24);
<span id="timeRemaining"></span>
<div>
  <span>How much of the day has passed:</span>
  <progress id="dayProgression" value="0"></progress>
</div>

示例 JSFiddle

尝试使用以下 Javascript 代码:

var year = 2015 , month = 5 , day = 15;
var date = new Date();
var enddate = new Date(year , month , day); 
document.write( date - enddate );

您可以为您的网站编辑此代码。

最新更新