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,15Mar200515:23:52或2008-01-01此类的字符串,strtotime还可以“理解”一定的英语。  
  如下面的代码:  
  <?php  
  date_default_timezone_set("PRC");  
  $mydatestring=array('now','today','tomorrow','yesterday','thursday','thisthursday','lastthursday','+2hours','-1month','30seconds','nextweek','lastyear','2weeksago');  
  foreach($mydatestringas$item)  
  {  
  echo"$item:".date('r',strtotime($item)).'<br/>';  
  }  
  ?>  
  输出:  
  now:Sat,28Feb200911:03:35+0800  
  today:Sat,28Feb200900:00:00+0800  
  tomorrow:Sun,01Mar200900:00:00+0800  
  yesterday:Fri,27Feb200900:00:00+0800  
  thursday:Thu,05Mar200900:00:00+0800  
  thisthursday:Thu,05Mar200900:00:00+0800  
  lastthursday:Thu,26Feb200900:00:00+0800  
  +2hours:Sat,28Feb200913:03:35+0800  
  -1month:Wed,28Jan200911:03:35+0800  
  30seconds:Sat,28Feb200911:04:05+0800  
  nextweek:Sat,07Mar200911:03:35+0800  
  lastyear:Thu,28Feb200811:03:35+0800  
  2weeksago:Sat,14Feb200911: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'thefirstFriofnextmonthis:'.date('Y-m-d',$first_fri);  
  输出:  
  Today:2009-02-28  
  thefirstFriofnextmonthis:2009-03-06  
  还有太多太多,以后有时间再写。