程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP中使用mktime獲取時間戳的一個黑色幽默分析

PHP中使用mktime獲取時間戳的一個黑色幽默分析

編輯:PHP綜合

下面這段代碼是網上大多數人給出的時間戳現實,這個一看便知只能說是取得當前日期,而不能算是時間戳,不用多解釋了吧!
復制代碼 代碼如下:
$now = mktime(0,0,0,date("m"),date("d"),date("Y"));
echo "now is ".date("Y/m/d", $now);

顯示結果:
now is 2012/05/30
顯然這不是我想要的結果。
於是,按照舊有的思維,我想當然的改造成下面這個形式:
復制代碼 代碼如下:
$now = mktime(date("h"),date("M"),date("s"),date("m"),date("d"),date("Y"));
echo "now is ".date("Y/M/d h:i:s", $now);

注意紅色的部分,通常如果月份用m,那麼分鐘就應該是M。或者前者用M,後者用m。
顯示結果:
復制代碼 代碼如下:
Warning: mktime() expects parameter 2 to be long, string given in D:\usr\webroot\testPHP\index.php on line 46
now is 1970/01/01 08:Jan:00

看來主觀臆斷是不可取的,PHP的語法和其他的語言還是有些區別的。

不賣關子了,還是直接給大家正確的答案
復制代碼 代碼如下:
$now = mktime(date("h"),date("i"),date("s"),date("m"),date("d"),date("Y"));
echo "now is ".date("Y/m/d h:i:s", $now);

哈哈~是“i”而不是什麼m或者M,這裡給出大家這個示例只是想讓PHP的初學少走一些彎路。
至於M是什麼意思,大家自己做一下就明白了...嘿嘿!!!
顯示結果:
復制代碼 代碼如下:
now is 2012/05/30 04:54:25

網絡上互相復制文章的人太多,沒有多少人去深究這個,讓如我一樣的PHP初學者無所適從。大家拷貝復制之前是不是多動動手自己實現一下在寫出了,對自己是個提高,對讀者也是一直負責的態度。

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