很多人,包括我在建立了博客,都想为网站增加运行时间。而我曾经从@freejishu的博客之中截出过一段代码,经过调试后学会怎样使用js为网站增加运行时间。

首先,要在网站之中添加以下代码,当然,你也可以保存为js文件并且在网站中引入。

<script language=javascript>
        function siteTime(){
            window.setTimeout("siteTime()", 1000);
            var seconds = 1000
            var minutes = seconds * 60
            var hours = minutes * 60
            var days = hours * 24
            var years = days * 365
            var today = new Date()
            var todayYear = today.getFullYear()
            var todayMonth = today.getMonth()
            var todayDate = today.getDate()
            var todayHour = today.getHours()
            var todayMinute = today.getMinutes()
            var todaySecond = today.getSeconds()
            var t1 = Date.UTC(2016,0,17,15,46,29)
            var t2 = Date.UTC(todayYear,todayMonth,todayDate,todayHour,todayMinute,todaySecond)
            var diff = t2-t1
            var diffYears = Math.floor(diff/years)
            var diffDays = Math.floor((diff/days)-diffYears*365)
            var diffHours = Math.floor((diff-(diffYears*365+diffDays)*days)/hours)
            var diffMinutes = Math.floor((diff-(diffYears*365+diffDays)*days-diffHours*hours)/minutes)
            var diffSeconds = Math.floor((diff-(diffYears*365+diffDays)*days-diffHours*hours-diffMinutes*minutes)/seconds)
            document.getElementById("sitetime").innerHTML="已运行 "+diffYears+" 年 "+diffDays+" 天 "+diffHours+" 小时 "+diffMinutes+" 分 "+diffSeconds+" 秒 "
        }

</script>

代码第16行和第17行是一一对应的,他们是用来定义统计的起始时间,对应于理解能力较好的人能够较快的得知数字的含义,部分释义如下:

  • 2016 - 年
  • 0 - 月 - 月份必须减一!
  • 17 - 日
  • 15 - 时
  • 46 - 分
  • 29 - 秒

然后在你想显示运行时间的地方插入<span id="sitetime"></span>即可。

那么,有的人举办活动,想要页面倒计时呢?其实一样很简单。js代码如下:

<script type="text/javascript" language="javascript">
var endDate=new Date(2016,8,1,0,0,0);
(function endTime()
{
 var now=new Date();
 var oft=Math.round((endDate-now)/1000);
 var ofd=parseInt(oft/3600/24);
 var ofh=parseInt((oft%(3600*24))/3600);
 var ofm=parseInt((oft%3600)/60);
 var ofs=oft%60;
 document.getElementById('timer').innerHTML='还有 '+ofd+' 天 ' +ofh+ ' 小时 ' +ofm+ ' 分钟 ' +ofs+ ' 秒';
 if(ofs<0){document.getElementById('timer').innerHTML='倒计时结束!';return;};
 setTimeout('endTime()',1000);
}());

</script>

这里的月份同样要减一。标签ID也要随之更改,直接在你想显示的地方插入<span id="endTime"></span>就行了,是不是很简单啊:D

如果有疑问,也可以在评论区中提问哦:)