PHP教程:时间函数
来源:
互联网
日期:2009-7-20
PHP中的日期时间基本上基于UNIX时间戳来处理的。 比如date/getdate()/mktime()/strftime()/strtotime/time等都与时间戳有着密切的关联。 这些函数的用法可查阅相关文档,这里就不对这些函数作解释了。 要将时间戳转为可读的形式,就需要date函数出马了,他需要二个参数:格式化字符串与时间戳。 比较难记的是格式化字符,不过常用的也就是YymdwHis,其它的亦可参阅文档。
将可读的日期转为时间戳通常用以下二个函数: mktime 如: $timestam = mktime(18,30,00,8,10,1981); 将得到1981年8月10日下午6点30整的时间戳。 另一个比较NB的是strtotime,看名字就是将字符串转为一个时间戳。 它的NB之处不在于解析如:Tue,15 Mar 2005 15:23:52或2008-01-01此类的字符串,strtotime还可以“理解”一定的英语。 如下面的代码:
<?php date_default_timezone_set("PRC"); $mydatestring = array('now','today','tomorrow','yesterday','thursday','this thursday','last thursday','+2 hours','-1 month','30 seconds','next week','last year','2 weeks ago'); foreach($mydatestring as $item) { echo "$item:".date('r',strtotime($item)).'<br />'; } ?>
输出:
now:Sat, 28 Feb 2009 11:03:35 +0800 today:Sat, 28 Feb 2009 00:00:00 +0800 tomorrow:Sun, 01 Mar 2009 00:00:00 +0800 yesterday:Fri, 27 Feb 2009 00:00:00 +0800 thursday:Thu, 05 Mar 2009 00:00:00 +0800 this thursday:Thu, 05 Mar 2009 00:00:00 +0800 last thursday:Thu, 26 Feb 2009 00:00:00 +0800 +2 hours:Sat, 28 Feb 2009 13:03:35 +0800 -1 month:Wed, 28 Jan 2009 11:03:35 +0800 30 seconds:Sat, 28 Feb 2009 11:04:05 +0800 next week:Sat, 07 Mar 2009 11:03:35 +0800 last year:Thu, 28 Feb 2008 11:03:35 +0800 2 weeks ago:Sat, 14 Feb 2009 11:03:35 +0800
再如我要查找下个月的第一个星期五:
$nextmonth = date('Y-'.(date('n')+1).'-0'); $nextmonth_timest = strtotime($nextmonth); $first_fri = strtotime('Fri',$nextmonth_timest); echo "Today:".date('Y-m-d'); echo '<br />'; echo 'the first Fri of next month is :'.date('Y-m-d',$first_fri);
输出: Today:2009-02-28 the first Fri of next month is :2009-03-06
还有太多太多,以后有时间再写。
更多的PHP教程:时间函数请到论坛查看: http://BBS.TC711.COM
【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】
来源:
互联网
日期:2009-7-20
|
|
|