php 时间函数使用技巧解析

PHP时间函数使用技巧感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!
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时间函数使用技巧
 *
 * @param 
 * @arrange 512-笔记网: www.jb51.cc
 **/
<?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 />';
}
?>
/***   来自编程之家 jb51.cc(jb51.cc)   ***/
输出
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 再如我要查找下个月的第一个星期五:

/**
 * PHP时间函数使用技巧
 *
 * @param 
 * @arrange 512-笔记网: www.jb51.cc
 **/
$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);
/***   来自编程之家 jb51.cc(jb51.cc)   ***/
输出: Today:2009-02-28 the first Fri of next month is :2009-03-06

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...