本文编写于 3075 天前,最后修改于 1452 天前,其中某些信息可能已经过时。
很多人,包括我在建立了博客,都想为网站增加运行时间。而我曾经从@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
如果有疑问,也可以在评论区中提问哦:)