本文將介紹 PHP 中常見的日期處理函數,包括日期格式化、時間戳記轉換、日期計算等操作。
在PHP 中,我們可以使用date() 函數將日期格式化為想要的字串,語法如下:
date(format, timestamp);
其中,format 參數指定日期的輸出格式,timestamp 參數為一個UNIX 時間戳,如果不指定timestamp 參數,預設使用目前時間。
下面是常見的格式化參數:
格式參數 | 描述 |
---|---|
Y | 四位數的年份 |
y | 兩位數的年份 |
m | 兩位數的月份(01-12) |
#d | 的兩位數(01-31) |
H | 24 小時制的小時數(00-23) |
i | 兩位數的分鐘數(00-59) |
s | 兩位數的秒數(00-59) |
w | 星期幾的數字表示(0-6) |
L | 是否為閏年(1=是,0=否) |
例如,我們可以使用以下程式碼將目前時間格式化為字串:
echo date('Y-m-d H:i:s');
輸出結果如下:
2021-01-01 12:30:00
時間戳通常是Unix 時間,也就是從1970 年1 月1 日早上8 點(UTC 8 時區)開始經過的秒數。需要將時間戳轉換為日期,可以使用 date() 函數,也可以使用其他一些函數。
2.1 使用date() 函數
將時間戳轉換為日期,可以使用date() 函數,其語法如下:
date(format, timestamp);
其中,format 參數為日期的輸出格式,timestamp 參數為UNIX 時間戳記。
例如,我們可以使用以下程式碼將一個時間戳記轉換為日期字串:
$timestamp = 1609459200; //2021-01-01 00:00:00 的时间戳 echo date('Y-m-d H:i:s', $timestamp);
輸出結果如下:
2021-01-01 00:00:00
2.2 使用strtotime() 函數
strtotime() 函數可以將日期字串轉換為UNIX 時間戳,其語法如下:
strtotime(timeString, now);
其中,timeString 參數為日期字串,now 參數為可選參數,表示計算時間的基準點,預設為當前時間。
例如,我們可以使用以下程式碼將一個日期字串轉換為時間戳記:
$dateString = '2021-01-01 00:00:00'; $timestamp = strtotime($dateString); echo $timestamp;
輸出結果如下:
1609459200
在PHP 中,也可以對日期進行加減計算,例如計算未來或過去的日期,計算日期之間的差值等。
3.1 使用date_modify() 函數
可以使用date_modify() 函數對日期進行加減計算,其語法如下:
date_modify(object, modify);
其中,object 參數表示日期對象, modify 參數表示要進行的修改。可以使用相對值(例如 1 day,-1 week)或絕對值(例如 2021-02-01)。
例如,我們可以使用以下程式碼計算下個月的日期:
$dateString = '2021-01-01 00:00:00'; $datetime = new DateTime($dateString); $datetime->modify('+1 month'); echo $datetime->format('Y-m-d H:i:s');
輸出結果如下:
2021-02-01 00:00:00
3.2 使用date_diff() 函數
#可以使用date_diff() 函數計算兩個日期之間的差值,其語法如下:
date_diff(datetime1, datetime2, absolute);
其中,datetime1 和datetime2 參數表示兩個日期對象,absolute 參數表示是否取絕對值。
例如,我們可以使用以下程式碼計算兩個日期之間的天數:
$dateString1 = '2021-01-01 00:00:00'; $datetime1 = new DateTime($dateString1); $dateString2 = '2021-01-10 00:00:00'; $datetime2 = new DateTime($dateString2); $interval = date_diff($datetime1, $datetime2); echo $interval->days;
輸出結果為 9,表示兩個日期之間相差 9 天。
以上就是 PHP 常見的日期處理函數,包含日期格式化、時間戳記轉換、日期計算等操作。掌握這些函數將有助於我們更輕鬆地處理日期和時間。
以上是PHP常見日期處理函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!