博客统计代码中的动态运行天数

没什么特别的意思 就是一个记录的想法 安心做一个博客站 特此以时间作为记录 ? 

版本一:PHP

<?php
/**
 * 秒转时间,格式 年 月 日 时 分 秒
 * @author 52o@qq52o.cn
 * @param int $time
 * @return array|boolean
 */
// 设置时区 
date_default_timezone_set('Asia/Shanghai');
function Sec2Time($time){
 if(is_numeric($time)){
 $value = array(
 "years" => 0, "days" => 0, "hours" => 0,
 "minutes" => 0, "seconds" => 0,
 );
 if($time >= 31556926){
 $value["years"] = floor($time/31556926);
 $time = ($time%31556926);
 }
 if($time >= 86400){
 $value["days"] = floor($time/86400);
 $time = ($time%86400);
 }
 if($time >= 3600){
 $value["hours"] = floor($time/3600);
 $time = ($time%3600);
 }
 if($time >= 60){
 $value["minutes"] = floor($time/60);
 $time = ($time%60);
 }
 $value["seconds"] = floor($time);
 return (array) $value;
 }else{
 return (bool) FALSE;
 }
}
// 本站创建的时间
$site_create_time = strtotime('2017-09-01 00:00:00');
$time = time() - $site_create_time;
$uptime = Sec2Time($time);
?>
本站运行:<span style="color:red;"><?php echo $uptime['years']; ?>年<?php echo $uptime['days']; ?>天<?php echo $uptime['hours']; ?>小时<?php echo $uptime['minutes']; ?>分<?php echo $uptime['seconds']; ?>秒</span>

将本站运行以前的代码放到网站的 footer 中,然后将最后一行代码插入统计代码当中或网站合适的位置即可。

版本二:js

<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() {
 // 博客创建时间秒数,时间格式中,月比较特殊,是从 0 开始的,所以想要显示 5 月,得写 4 才行,如下
 var create_time = Math.round(new Date(Date.UTC(2017, 10, 01, 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>
 网站运行:<span id="htmer_time" style="color: red;"></span>

将网站运行以前的代码放到网站的 footer 中,然后将最后一行代码插入统计代码当中或网站合适的位置即可,可在我的博客最下面看到具体效果

沈唁志|一个PHPer的成长之路! 原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:博客统计代码中的动态运行天数

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏lgp20151222

Git 的 .gitignore 配置

.gitignore 配置文件用于配置不需要加入版本管理的文件,配置好该文件可以为我们的版本管理带来很大的便利,以下是个人对于配置 .gitignore 的一些...

1063
来自专栏Golang语言社区

go http 服务器编程(1)

1. 初识 http 是典型的 C/S 架构,客户端向服务端发送请求(request),服务端做出应答(response)。 golang 的标准库 net/h...

2.5K6
来自专栏Janti

基础巩固——长连接 、短连接、心跳机制与断线重连

本文将从长连接和短连接的概念切入,再到长连接与短连接的区别,以及应用场景,引出心跳机制和断线重连,给出代码实现。

4061
来自专栏大内老A

ASP.NET MVC集成EntLib实现“自动化”异常处理[实例篇]

个人觉得异常处理对于程序员来说是最为熟悉的同时也是最难掌握的。说它熟悉,因为仅仅就是try/catch/finally而已。说它难以掌握,则是因为很多开发人员却...

21510
来自专栏SDNLAB

OpenDaylight与Mininet应用实战之三层转发机制四

本文属于该专题中的进阶篇,主要讲解ODL应用不同网段的三层数据转发机制,在OpenDaylight与Mininet应用实战之流表操作(三)中会涉及到相同网段的二...

5006
来自专栏nummy

Grunt快速入门

Grunt是基于JavaScript的命令行构建工具,它可以帮助开发者们自动化重复性的工作。你可以把它看成是JavaScript下的Make或者Ant。它可以完...

942
来自专栏风中追风

分布式基础__TCP IP 里的网络请求 到底是什么样的?

当我输入 一个url 在浏览器的地址栏按下回车 这个以前也写过博客了:一次URL输入域名按下回车到底发生了什么?

40516
来自专栏Golang语言社区

Go语言的网络编程简介

本文通过 Go 语言写几个简单的通信示例,从 TCP 服务器过渡到 HTTP 开发,从而简单介绍 net 包的运用。 TCP 服务器 首先来看一个 TCP 服务...

4527
来自专栏Golang语言社区

package http

要管理代理、TLS配置、keep-alive、压缩和其他设置,创建一个Transport:

2294
来自专栏Golang语言社区

Go语言的网络编程简介

本文通过 Go 语言写几个简单的通信示例,从 TCP 服务器过渡到 HTTP 开发,从而简单介绍 net 包的运用。 TCP 服务器 首先来看一个 TCP 服务...

37715

扫码关注云+社区

领取腾讯云代金券