首頁  >  文章  >  後端開發  >  聊聊php 時間戳轉換函數

聊聊php 時間戳轉換函數

PHPz
PHPz原創
2023-03-29 10:11:59827瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn