PHP時間戳轉換函數
時間戳記(timestamp)是一個表示時間的數字,可以用來表示從某個固定的時間點(例如格林威治標準時間的1970年1月1日0時0分0秒)到現在的秒數。在Web開發中,我們常常會用到時間戳記。但是,時間戳一般是以10位數的方式表示的,不太友善且難以閱讀。本文將介紹一些PHP時間戳記轉換函數,使得我們能夠輕鬆地將時間戳記轉換成我們需要的日期格式。
一、date()函數
date()函數是PHP中用來格式化日期和時間的函數,也可以用來將時間戳轉換為標準日期格式的函數。 date()函數有兩個參數,第一個必選參數是日期格式字串,第二個可選參數是時間戳記。如果沒有指定時間戳,則預設使用目前時間。
例如,要將時間戳記轉換成標準日期格式(年-月-日時:分:秒),可以使用以下程式碼:
$timestamp = 1567221493; // 时间戳 $date = date('Y-m-d H:i:s', $timestamp); echo $date; // 输出:2019-08-31 16:38:13
在上面的程式碼中,將時間戳記作為第二個參數傳遞給date()函數,第一個參數用來定義日期格式字串。 Y表示4位數的年份(例如2019),m表示2位數的月份(例如01),d表示2位數的日期(例如01),H表示24小時制的小時數(例如23),i表示分鐘數(例如59),s表示秒數(例如00)。
二、gmdate()函數
gmdate()函數與date()函數非常類似,也可以用來格式化日期和時間,但是它會根據格林威治標準時間( GMT)來顯示日期和時間。因此,可以將gmdate()函數用來將時間戳記轉換為GMT日期格式。
例如,要將時間戳轉換成GMT日期格式,可以使用以下程式碼:
$timestamp = 1567221493; // 时间戳 $date = gmdate('Y-m-d H:i:s', $timestamp); echo $date; // 输出:2019-08-31 08:38:13
在上面的程式碼中,同樣是將時間戳記作為第二個參數傳遞給gmdate( )函數,第一個參數用來定義日期格式字串。因為gmdate()函數顯示的是GMT時間,所以輸出的時間比本地時間早8小時(也就是GMT 8)。
三、strtotime()函數
strtotime()函數可以將文字日期字串解析為時間戳,也可以將時間戳轉換為指定格式的日期字串。此函數傳回的是從標準UNIX時期(即1970年1月1日)開始計算的秒數。
例如,要將日期字串(例如2019-08-31 16:38:13)轉換成時間戳,可以使用以下程式碼:
$date_str = '2019-08-31 16:38:13'; // 日期字符串 $timestamp = strtotime($date_str); echo $timestamp; // 输出:1567221493
在上面的程式碼中,將日期字串作為函數的唯一參數傳遞給strtotime()函數,函數會將日期字串解析成時間戳記。
四、DateTime類別
DateTime是PHP中用來處理日期和時間的類,它提供了豐富的功能和方法。可以使用DateTime類別來將時間戳記轉換為指定格式的日期字串。
例如,要將時間戳記轉換成標準日期格式,可以使用以下程式碼:
$timestamp = 1567221493; // 时间戳 $date_time = new DateTime(); $date_time->setTimestamp($timestamp); $date = $date_time->format('Y-m-d H:i:s'); echo $date; // 输出:2019-08-31 16:38:13
在上面的程式碼中,先建立一個DateTime對象,然後透過setTimestamp()方法將時間戳記設定給對象,最後使用format()方法將對象轉換為標準日期格式的字串。
五、總結
以上介紹了PHP中一些常用的時間戳轉換函數,包括date()函數、gmdate()函數、strtotime()函數和DateTime類別。使用這些函數,可以將時間戳記轉換成任意格式的日期字串,方便我們在Web開發中進行日期格式的處理。
以上是聊聊php 時間戳轉換函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!