个人博客网站底部运行时间统计

就觉着有总比没有好,看着还挺有意思的,那就加一个呗~

页面部分

<div style="color: #F08047;margin-top: -18px" class="ui inverted m-text-thin m-text-spaced">我的小站已上线:<span id="run_time" class="item m-text-thin"></span> (*๓´╰╯`๓)</div>

js部分

//方式一:

//运行时间统计
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;
}
function setTime() {
    /*此处为网站的创建时间*/
    var create_time = Math.round(new Date(Date.UTC(2021, 0o4, 22, 0o0, 0o0, 0o0)).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("run_time").innerHTML = currentTimeHtml;
}
setInterval(setTime, 1000);

优点:创建时间自定义选择大; 缺点:算法好像有点问题(可能我算错了),有bug,时间好像不准,当然可能是我这个情况过于极限的问题,有时间再研究研究,是我是我粗心,掰着指头数都给人家数错咯!


方式二:
// 运行时间统计
      function runTime() {
        var d = new Date(), str = '';
        BirthDay = new Date("April 27,2021");
        today = new Date();
        timeold = (today.getTime() - BirthDay.getTime());
        sectimeold = timeold / 1000
        secondsold = Math.floor(sectimeold);
        msPerDay = 24 * 60 * 60 * 1000
        msPerYear = 365 * 24 * 60 * 60 * 1000
        e_daysold = timeold / msPerDay
        e_yearsold = timeold / msPerYear
        daysold = Math.floor(e_daysold);
        yearsold = Math.floor(e_yearsold);
        str = yearsold + "年";
        str += daysold + "天";
        str += d.getHours() + '时';
        str += d.getMinutes() + '分';
        str += d.getSeconds() + '秒';
        return str;
      }
      setInterval(function () { $('#run_time').html(runTime()) }, 1000);
  • 缺点:算法好像也有点问题,有bug,当然可能是我这个情况过于极限的问题,时间固定是从每天的零点开始算起,而且,不那么极限的话,好像准确度没出问题,毕竟有谁会把时间定在未来呢? 总体来说,方案二比较符合我的诉求;
  • 优点:这个比方案一准确。

效果展示

欢迎访问我的小站: 心随笔~

总结: 两种方式都不完美,各有各的问题,想比较之下,方式二的实现显然更符合我的诉求,着急先把我的小网站弄出来,权且妥协妥协,再做打算。

参考文章: https://blog.csdn.net/keylion_/article/details/81812973 https://github.com/oneStarLR/myblog-page

end
  • 作者:btfqn1024(联系作者)
  • 发表时间:2021-04-21 20:17
  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  • 转载声明:转载请附上原文链接
  • 公众号转载:请在文末添加作者公众号二维码(公众号二维码见右边,欢迎关注)
  • 评论