网站底部显示建站时间
网站底部显示建站时间
网站建站的时间需要展示在网站的底部,记录网站开始的时间,让自己和别人知道站点运行的时间。
描述
网站建站的时间需要展示在网站的底部,记录网站开始的时间,让自己和别人知道站点运行的时间。
很多网站底部都会显示"本站已运行 X 天 X 时 X 分 X 秒",这是一个很有意义的功能——既能让访客了解网站的历史,也能给自己一个坚持的动力。
效果演示
荣小站已运行:
第一步:添加 HTML
将以下代码放在网站的 </footer> 闭合标签前:
<div>
<span style="color:gray;">建站时间:<span id="sitetime"></span></span>
</div>第二步:添加 JavaScript
<script>
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()+1;
var todayDate = today.getDate();
var todayHour = today.getHours();
var todayMinute = today.getMinutes();
var todaySecond = today.getSeconds();
// 设置建站时间(修改这里!)
var t1 = Date.UTC(2021,03,01,00,00,00);
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+"秒";
}
siteTime();
</script>完整代码
<div>
<span style="color:gray;">建站时间:<span id="sitetime"></span></span>
</div>
<script>
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()+1;
var todayDate = today.getDate();
var todayHour = today.getHours();
var todayMinute = today.getMinutes();
var todaySecond = today.getSeconds();
var t1 = Date.UTC(2021,03,01,00,00,00);
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+"秒";
}
siteTime();
</script>代码详解
1. Date.UTC() 时间戳
Date.UTC() 返回距离世界标准时间 1970年1月1日 午夜之间的毫秒数(时间戳):
| 参数 | 说明 |
|---|---|
| year | 4位年份值 |
| month | 0-11(0=一月,11=十二月) |
| day | 1-31 日期 |
| hours | 0-23 小时 |
| minutes | 0-59 分钟 |
| seconds | 0-59 秒 |
2. 时间差计算
var diff = t2 - t1; // 当前时间 - 建站时间 = 差值(毫秒)
var diffYears = Math.floor(diff / years); // 差值 / 365天 = 年
var diffDays = Math.floor((diff/days) - diffYears * 365); // 剩余天数3. 定时更新
window.setTimeout("siteTime()", 1000); // 每1000毫秒(1秒)执行一次如何修改建站时间
找到代码中的这一行,修改括号内的数字:
var t1 = Date.UTC(2021,03,01,00,00,00);| 参数 | 含义 | 示例 |
|---|---|---|
| 2021 | 年份 | 2021 |
| 03 | 月份(0-11) | 03 = 4月 |
| 01 | 日期 | 1号 |
| 00,00,00 | 时:分:秒 | 午夜0点 |
⚠️ 注意:月份是 0-11,所以 0 代表一月,3 代表四月。
常见问题
- Q: 为什么显示的时间不对?
A: 检查 Date.UTC() 参数,月份需要减1 - Q: 如何只显示天数?
A: 修改 innerHTML 只输出 diffDays - Q: 刷新页面时间会重置吗?
A: 不会,因为是基于建站时间计算的
评论