在 PHP 中,時間戳記是一個十位的整數,表示從 1970 年 1 月 1 日 00:00:00 GMT(格林威治標準時間)到某個時間的秒數。時間戳在許多場景中都非常有用,例如記錄創建時間、排序、計算時間差等等。
在實際應用中,我們經常會遇到將年份轉換成時間戳記的需求,這時候,PHP 提供了幾個比較方便的函數來實現這個功能。
下面,我們來介紹幾個常用的 PHP 函數,用來實現將年份轉換成時間戳記的操作。
PHP 中的 strtotime() 函數可以將任一英文文字日期時間或格式化日期時間字串轉換成 Unix 時間戳記。語法如下:
strtotime ( string $time [, int $now = time() ] ) : int
其中,$time
參數是要轉換的日期時間字串,$now
參數是可選的目前Unix 時間戳,預設為當前時間。
使用此函數時,只需要傳遞一個符合格式的年份字串,就可以得到其對應的時間戳,如下所示:
$timestamp = strtotime('2022-01-01 00:00:00'); echo $timestamp;
上述程式碼將會輸出:1640985600。
如果你只需要轉換年份,可以將字串中的月份和日期部分去掉,如下所示:
$year = "2022"; $timestamp = strtotime($year . '-01-01 00:00:00'); echo $timestamp;
上述程式碼同樣可以得到 1640985600 這個時間戳。
PHP 中的 mktime() 函數用於傳回 Unix 時間戳,表示由參數指定的日期的秒數。文法如下:
mktime ( [ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] ) : int
其中,$hour
、$minute
、$second
、$month
、$day
和$year
參數是必選的,並且要依照順序傳遞。
使用此函數時,只需要傳入年份參數即可,如下所示:
$year = "2022"; $timestamp = mktime(0, 0, 0, 1, 1, $year); echo $timestamp;
上述程式碼同樣可以得到 1640985600 這個時間戳記。
PHP 提供了 DateTime 類別來處理日期時間。使用此類可以對日期時間進行各種操作,包括格式化、加減等等。其中, getTimestamp()
方法可以取得 Unix 時間戳記。
使用 DateTime 類別可以這樣實作年份轉時間戳記操作:
$year = "2022"; $dateObj = DateTime::createFromFormat('Y', $year); $timestamp = $dateObj->getTimestamp(); echo $timestamp;
上述程式碼同樣可以得到 1640985600 這個時間戳記。
年份轉時間戳記是 PHP 常見的操作之一,我們介紹了三種實作方式:strtotime()、mktime() 和 DateTime 類別。這些方法均能夠實現將年份轉換成時間戳記的操作,需要根據實際場景來選擇不同的方法。
以上是詳解php 年份怎麼轉時間戳的詳細內容。更多資訊請關注PHP中文網其他相關文章!