PHP mktime 函數

PHP mktime 函數是個將日期與時間轉換為 Unix 時間戳(timestamp)的函數,最簡單的使用方式就是不用參數值,讓 mktime 函數直接算出現在的時間轉換為 Unix 時間戳的秒數,如果要換算某個特定的時間點,也可以把「時、分、秒、月、日、年」這些數據帶入 mktime 的參數欄位,讓 mktime 去換算結果出 Unix 時間戳,PHP mktime 函數的用法與 time 函數有點類似。

備註、這裡提到的 Unix 時間戳指的是與 Unix 紀元的時間差秒數,我們在《PHP timestamp 時間戳》有比較詳細的介紹。

PHP mktime 函數語法
mktime( $hour , $minute , $second , $month , $day , $year , $is_dst);
以上參數全部都必須使用正整數,不接受小數或負數。mktime 函數的參數值由左至右分別代表($hour)、($minute)、($second)、($month)、($day)、($year),最後一個 $is_dst 不重要,在 PHP 5.1.0 版將此參數移除了。

PHP mktime 函數範例
<?php
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">'; //網頁編碼
echo '現在的時間換算為 Unix 時間戳:'.mktime(date("H"),date("i"),date("s"),date("n"),date("j"),date("Y")).'<br>';
echo '現在的時間換算為 Unix 時間戳:'.mktime();
?>
範例輸出結果
現在的時間換算為 Unix 時間戳:1412840329
現在的時間換算為 Unix 時間戳:1412840329
以上的範例結果僅供示意用,並不是真正的現在時間,若您要看現在時間用 mktime 轉換的結果,可以將以上範例程式碼存為測試 php 檔案,用伺服器 run 一下就知道結果了。第一行 echo 讓網頁編碼為 utf-8 萬國碼,這個部分不是重點,第二行 echo 利用 date 函數將時間的「時、分、秒、月、日、年」依序帶入 PHP mktime 函數,第三行 echo 直接讓 mktime 自己判斷時間,第二行與第三行所轉換的都是目前*的時間,同樣的時間用 mktime 函數轉換出來的結果是一樣的。

* 目前的時間指的是 PHP 讀取到當時伺服器的時間。

更多 PHP 時間
© Copyright webtech.tw Since 2010