时间戳不利于人来理解,为什么还要用时间戳来储存呢?
理由如下:
1,便于储存,2038年之前的时间戳,都没有超过40亿,因此至于要4个字节的int型,储存就可以
时间就是数学上的一个值,没有歧义.
2,如果用格式,比如中国人喜欢用2012年01月01日,比如有的人喜欢 01/01 2012 13:00:00
用时间戳没有争论
3,时间戳虽然不便于给人看,但是便于给机器运算,便于比较时间差.
举例:某张表中,有字段,存有发帖时间,格式是yyyy-mm-dd hh:ii:ss
这让你取出24小时内的帖子.
先得根据当前一瞬间 2012-03-01 08:00:00 往前移动24小时 计算出24小时之前的日期时间,几位是02-29还是02-28得考虑闰年还是平年的问题
很麻烦
而使用时间戳没有此问题
只需要得出这一瞬间的时间戳,记为current,然后current-24*3600,记为b.只需要pubtime>=b 就可以了
<?php //时间戳:是指1970-01-01 00:00:00 ---> 某个时刻所经历的秒数 /* 时间戳不利于人来理解,为什么还要用时间戳来储存呢? 理由如下: 1,便于储存,2038年之前的时间戳,都没有超过40亿,因此至于要4个字节的int型,储存就可以 时间就是数学上的一个值,没有歧义. 2,如果用格式,比如中国人喜欢用2012年01月01日,比如有的人喜欢 01/01 2012 13:00:00 用时间戳没有争论 3,时间戳虽然不便于给人看,但是便于给机器运算,便于比较时间差. 举例:某张表中,有字段,存有发帖时间,格式是yyyy-mm-dd hh:ii:ss 这让你取出24小时内的帖子. 先得根据当前一瞬间 2012-03-01 08:00:00 往前移动24小时 计算出24小时之前的日期时间,几位是02-29还是02-28得考虑闰年还是平年的问题 很麻烦 而使用时间戳没有此问题 只需要得出这一瞬间的时间戳,记为current,然后current-24*3600,记为b.只需要pubtime>=b 就可以了 */ echo '从1970-01-01 00:00:00到现在,已经过去',time(),'秒'; //从1970-01-01 00:00:00到现在,已经过去1465363471秒 echo '<br/>'; $time = time(); echo date('m/d Y h:i',$time); //06/08 2016 07:24 echo '<br/>'; //strtotime,则是把字符串形式的时间转换成时间戳 $birth = '1991-02-06'; echo strtotime($birth),'<br/>'; //从当前时间,退回1天的时间戳 echo strtotime('-1 day'),'<br/>'; //从当前的时间,退回到一周前 echo strtotime('-1 week'),'<br/>'; /* 从1970-01-01 00:00:00到现在,已经过去1465364028秒 06/08 2016 07:33 665794800 1465277628 1464759228 */ //时间戳格式化之前声明时区------------------------------------ date_default_timezone_set('PRC'); /* date_default_timezone_set('Asia/Chongqing');//其中Asia/Chongqing'为“亚洲/重庆” date_default_timezone_set('Asia/Harbin');//其中'Asia/Harbin'为"亚洲/哈尔滨" date_default_timezone_set('PRC');//其中PRC为“中华人民共和国” */ ?>

我的微信
这是我的微信扫一扫