前面写过在 Typecho 中添加网站运行时间的方法:Typecho 显示网站运行时间的方法总结 - 四六笔记 (blog.46cbm.top)

最近我在 github 上用 hexo 建了一个网站,由于不支持 php 前面文章的方法都没办法再用,只能使用 JavaScript 来实现这个功能。

方案一

生成时间信息

找到想要显示运行时间的页面,一般是全站的 footer 位置,把下面的 JavaScript 代码放在页面的 <body></body> 代码之间:

<script type="text/javascript">
    function show_site_runtime(){
    window.setTimeout("show_site_runtime()",1000); // 每秒运行一次函数
    X=new Date("01/03/2017 00:00:00"); //在这里修改你的建站时间
    Y=new Date();
    T=(Y.getTime()-X.getTime()); // 获取当前时间与指定时间之间的时间间隔(ms)
    i=24*60*60*1000;
    d=T/i;
    D=Math.floor(d); // 计算天数并向下取整
    h=(d-D)*24;
    H=Math.floor(h); // 计算剩余不足一天的小时数并向下取整
    m=(h-H)*60;
    M=Math.floor(m); // 计算剩余不足一小时的分钟数并向下取整
    s=(m-M)*60
    S=Math.floor(s); // 计算剩余不足一分钟的秒数并向下取整
    site_runtime.innerHTML= Y+D + " 天 " + H + " 小时 " + M + " 分 " + S + " 秒 "
    }
    show_site_runtime();
</script>

把上面建站时间那里的代码修改为自己的建站时间。

显示

在想要显示运营时间的位置添加代码:

<p>
  >>> 网站已平稳运行:<span id="site_runtime" style="color: #24a0f0;"></span><<<
</p>

样式自己调整就可以了。

方案二

直接把下列代码粘贴在想要显示运行时间的位置上:

<center>网站已经运行<br><span id="htmer_time" style="color: green;">
//在这里调整你要的样式
</span>
<script>
function secondToDate(second) {
if (!second) {
return 0;
}
var time = new Array(0, 0, 0, 0, 0);
if (second >= 365 * 24 * 3600) {
time[0] = parseInt(second / (365 * 24 * 3600));
second %= 365 * 24 * 3600;
}
if (second >= 24 * 3600) {
time[1] = parseInt(second / (24 * 3600));
second %= 24 * 3600;
}
if (second >= 3600) {
time[2] = parseInt(second / 3600);
second %= 3600;
}
if (second >= 60) {
time[3] = parseInt(second / 60);
second %= 60;
}
if (second > 0) {
time[4] = second;
}
return time;
}</script><script type="text/javascript" language="javascript">
function setTime() {
var create_time = Math.round(new Date(Date.UTC(2019, 01, 00, 0, 0, 0)).getTime() / 1000);  //在这里修改你的建站时间
var timestamp = Math.round((new Date().getTime() + 8 * 60 * 60 * 1000) / 1000);
currentTime = secondToDate((timestamp - create_time));
currentTimeHtml = currentTime[0] + '年' + currentTime[1] + '天'
+ currentTime[2] + '时' + currentTime[3] + '分' + currentTime[4]
+ '秒';
document.getElementById("htmer_time").innerHTML = currentTimeHtml;
} setInterval(setTime, 1000);</script>
</center>
文章目录