• 技术文章 >php教程 >php手册

    正计时的三种方法

    2016-06-06 20:08:34原创3706

    正计时是指计算一个已过日期距今的时间,反之倒计时就是计算未来某个日子距今的时间.本来在我网站footer的正计时代码是用JS算的,今天想到还可以用别的方法来实现,(同样可以用来倒计时),总结如下: WordPress的 human_diff 函数 PHP的 time() 函数 JS运算(或C#

    正计时是指计算一个已过日期距今的时间,反之倒计时就是计算未来某个日子距今的时间.本来在我网站footer的正计时代码是用JS算的,今天想到还可以用别的方法来实现,(同样可以用来倒计时),总结如下:

    1. WordPress的human_diff函数
    2. PHP的time()函数
    3. JS运算(或C#的timespan函数)

    WordPress法

    wordpress的human_diff函数可以输出智能时间差,用法为,其中$from代表开始时间,$to代表截止时间,常用在文章页:

    需要注意的是:这里需要使用的时间格式为Unix时间戳(Unix timestamp),所以在使用human_diff正计时之前,我们需要把时间转换为Unix时间戳格式,有很多在线转换时间戳的网站,可以Google一下"Unix timestamp".
    比如我要计算的是我和小马哥在一起的日子(好酸哦嘻嘻~),2011年9月2号转换为时间戳1314964800,然后是最终代码:

    PHP法

    用PHP进行时间运算的方法我在前面php判断:在指定日期之后触发事件一文中略提过,没什么好解释的直接上代码了:

    JS法

    然后在调用此结果的地方加上

    ,效果见小蝴蝶footer.
    包子发现了这段js存在问题,setInterval会造成重复执行blahblahblah...尼玛这货在学JS,把我虐的掀起,
    下面是第二个被包子虐翻的版本,

    var thediv = function(timespan2){var result=Math.floor((new Date()-new Date(timespan2))/3600000/24);document.getElementById("thediv").innerText="我们已经相爱了"+result+"天";} 
    var thetime=  self.setTimeout(function(){ thediv('2011/09/02') },  0) ;

    尼玛包子说我多此一举!他要我给setTimeout参数匿名,人家以为要单独匿下面一行嘛 :cry:
    下面是包子改好的版本:

    var thetime=self.setTimeout(function(){ var result=Math.floor((new Date()-new Date('2011/09/02'))/3600000/24);document.getElementById("thediv").innerText="我们已经相爱了"+result+"天"; },  0) ; 

    老娘下次不写js了

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:【科普】当上传的PHP找不到地址时候的思路:之一 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 关于UEditor编辑器远程图片上传失败的解决办法• ThinkPHP框架里隐藏index.php,thinkphpindex.php• php将csv文件导入到mysql数据库的方法,• 程序员吃自助餐后的反思• PHP 修改RAR文件注释及添加压缩文档讲解
    1/1

    PHP中文网