程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP入門知識 >> PHP教程:時間函數

PHP教程:時間函數

編輯:PHP入門知識

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

還有太多太多,以後有時間再寫。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved