php取得本地化時間戳函數

在實際的工作中我們還需要常用到指定某個時間產生。

例如:需要找到昨天到今天此時此刻的註冊用戶。

那我們需要做兩件事:

    1.得到目前的時間unix時間戳記。用time()函數就可以直接搞定

    2.那麼昨天指定時間該怎麼生成。這時候我們就需要使用到mktime()函數。簡稱:make time.創建時間。

產生出來的時間最好是unix時間戳記。因為是1970年1月1日0到現在的時間。我們做一個區間判斷,就把昨天到今天註冊的用戶依照時間篩選出來了。

我們的mktime()函數可以對一個日期和時間獲得一個本地化時間戳記。其語法格式如下:

int mktime (int $hour [, int $minute [, int $second [, int $month [, int $day [. int$year [, int $.is_dstl.l } ] ] 31 )

函數的參數分別表示:時、分、秒、月、日、年、是否為夏令時。在使用這個函數時,需要注意所列的參數要與函數的參數意義相同。例如,下面的程式碼實作了用mktime建構一個時間戳記的功能。

<?php
echo  mktime (13 ,15 , 30, 8,18, 2008) ;
?>

執行程式結果如下所示:

1219036530

mktime函數的回傳結果是一個Unix時間戳,對使用者的意義不大,常常與date函數一起完成時間的轉換。

例如,下面的程式碼實作對時間的運算:

<?php 
echo date("m-d-Y h:m:s")."\n";
echo date("m-d-Y h:m:s",mktime(10,15,35,date("m"),date("d"),date("Y")))."\n";
echo date("m-d-Y h:m:s",mktime(10,15,35,date("m"),date("d")-30,date("Y")))."\n";

?>

我們使用的時候還常常需要使用到另外一個函數:strtotime()。

它的語法格式如下:

int strtotime ( string $time [, int $now = time() ] )

##它能將將英文文本的日期時間描述解析為Unix 時間戳記。

參數:

    1.傳入一個字串的時間

    2.可選擇參數為是否傳入unix時間戳,如果不傳則是目前的unix時間戳。

我們來實驗一下,看看手冊中提供的一些例子:

<?php
//now为现在的当前时间
echo strtotime("now")."<br />";
//2000年9月10日
echo strtotime("10 September 2000")."<br />";
//当前时间加一天
echo strtotime("+1 day")."<br />";
//当前时间加一周
echo strtotime("+1 week")."<br />";
//当前时间加一周2天4小时2秒
echo strtotime("+1 week 2 days 4 hours 2 seconds")."<br />";
//下一个星期四
echo strtotime("next Thursday")."<br />";
//上一个星期一
echo strtotime("last Monday")."<br />";
?>

透過上例發現,把一些時間通通加上了或減去了英文中所表示的指定時間段。


繼續學習
||
<?php //now为现在的当前时间 echo strtotime("now")."<br />"; //2000年9月10日 echo strtotime("10 September 2000")."<br />"; //当前时间加一天 echo strtotime("+1 day")."<br />"; //当前时间加一周 echo strtotime("+1 week")."<br />"; //当前时间加一周2天4小时2秒 echo strtotime("+1 week 2 days 4 hours 2 seconds")."<br />"; //下一个星期四 echo strtotime("next Thursday")."<br />"; //上一个星期一 echo strtotime("last Monday")."<br />"; ?>
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!