博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

PHP笔记——时间 格式和运算

Posted on 2011-09-17 00:33  bug yang  阅读(325)  评论(0编辑  收藏  举报

在PHP中有一个时间函数是date(),它的语法是date(format,time);

它的format参数中

  Y代表年份  m代表月份  d代表天数  

  H代表小时  i代表分钟  s代表秒

time参数:

如果不填写的话指的是当前的时间。如果想要填写的话你可以使用maketime()函数生成,或者很多函数。这里我用strtotime(),strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。

先记录一下当前时间是2011.9.17 0:30:20

下面因为有时差,所以strtotime参数里面都加了”+8 hours“

date("Y-m-d H:i:s",strtotime("+1 years  +8 hours");//明年  2012-09-17 0:30:20

date("Y-m-d H:i:s",strtotime("+1 months  +8 hours");//下个月  2011-10-17 0:30:20

date("Y-m-d H:i:s",strtotime("+1 days  +8 hours");//明天  2011-09-18 0:30:20

date("Y-m-d H:i:s",strtotime("+1 hours  +8 hours");//下一个小时  2011-09-17 1:30:20

date("Y-m-d H:i:s",strtotime("+1 minutes  +8 hours");//下一分  2011-09-17 0:31:20

date("Y-m-d H:i:s",strtotime("+1 seconds  +8 hours");//下一秒  2011-09-17 0:30:21

复杂一点的

date("Y-m-d H:i:s",strtotime("+1 week 3 days 7 hours 5 seconds");//自己算吧

时间运算

计算2011-5-1到今天有多少天?

 

echo $predate=mktime(0,0,0,5,1,2011);//2011-5-1的时间
echo "<br/>";
echo $now=strtotime(date('Y-m-d'));//今天的时间
echo "<br/>";
echo $diff=intval(($now-$predate)/3600/24);//day