今天我們要來聊聊 PHP 中的日期時間函數——date()。date() 函數是 PHP 提供的一個用來格式化日期的函數。我們平時在開發 PHP 程序時,常常需要獲取當前時間、顯示指定時間格式等操作,此時用到 date() 函數就可以非常方便地實現這些功能。
date() 函數的基本語法如下:
date(format, timestamp)
其中 format 參數是必須傳入的,表示日期的格式,而 timestamp 參數則是可選的,表示需要轉換的時間戳。如果不傳入 timestamp 參數,則默認使用當前時間(即 time() 函數的返回值)。
下面看看一些具體的例子:
<?php
echo date("Y-m-d"); // 輸出:2022-01-05
echo date("Y/m/d"); // 輸出:2022/01/05
echo date("Y.m.d"); // 輸出:2022.01.05
echo date("Y年m月d日"); // 輸出:2022年01月05日
echo date("D M j G:i:s T Y"); // 輸出:Wed Jan 5 14:18:08 EST 2022
?>
在上面的例子中,我們分別使用了不同的日期格式,用來格式化當前日期。不難看出,使用 date() 函數非常方便,使用起來也非常靈活。另外,需要注意的是,date() 函數中的 format 參數中使用的字符均是英文字符。
除了格式化當前時間之外,date() 函數還支持格式化指定的時間戳。下面來看一個例子:
<?php
$time = 1641389740; // 隨意指定一個時間戳
echo date("Y-m-d H:i:s", $time); // 輸出:2022-01-05 10:55:40
?>
在上面的例子中,我們將時間戳 $time 格式化為了指定的日期格式。這種操作在實際開發中也非常常見,例如在對日志進行統計分析時,就需要對各個時間段的日志進行匯總。此時,對時間戳進行格式化是非常必要的。
需要注意的是,date() 函數中的 timestamp 參數可以是任意整數值,表示相對于 Unix 時間戳的秒數。通常情況下,我們會將時間戳設置為當前時間減去或者加上一定的秒數,以此來獲取前后一定時間范圍的日期。
除此之外,date() 函數還支持一些其他的參數,例如獲取當前時間所在的星期,如下所示:
<?php
echo date("l"); // 輸出:Wednesday
echo date("D"); // 輸出:Wed
echo date("N"); // 輸出:3
?>
在上面的例子中,我們分別獲取了當前時間的星期(使用 l 參數)、星期縮寫(使用 D 參數)、ISO-8601 標準的星期編號(使用 N 參數)。需要注意的是,date() 函數中支持的參數非常多,這里只列舉了幾個常用的參數。
最后,需要注意的是,使用 date() 函數格式化日期時,輸出的日期格式與當前服務器所在的時區相關聯。因此,在使用 date() 函數時,需要先設置正確的時區,否則可能會產生一些意想不到的問題。