介紹如何在 PHP 中取得目前的日期與時間資訊,並以各種不同格式表示。
date
函數
PHP 的 date
函數可以用來取得目前的日期以及時間資訊,以下是一個簡單的範例:
# 取得日期與時間 $today = date('Y/m/d H:i:s'); echo $today;
2020/06/27 15:02:02
呼叫 date
函數的時候,需要指定一個樣板參數,而 date
會根據此樣板參數傳回對應的日期或時間資訊,這裡的使用的樣板參數中,Y
、m
、d
分別代表年、月、日,而 H
、i
、s
分別代表時、分、秒,關於 date
樣板的表示法可以參考 PHP 的官方文件。
以下是一些常用的 date
函數樣板範例:
$today = date("F j, Y, g:i A"); // June 27, 2020, 3:46 PM $today = date("Y/n/j"); // 2020/6/27 $today = date("Ymd"); // 20200627 $today = date("D M j G:i:s T Y"); // Sat Jun 27 15:47:57 CST 2020 $today = date("H:i:s"); // 15:48:13 $today = date("Y-m-d H:i:s"); // 2020-06-27 15:48:29(MySQL DATETIME 格式)
date
也可以用來取得年、月、日、時、分、秒的個別資訊:
$year = date("Y"); // 年,例如 2020 $month = date("n"); // 月,例如 6 $day = date("j"); // 日,例如 27 $hour = date("G"); // 時,例如 15 $minute = date("i"); // 分,例如 48 $second = date("s"); // 秒,例如 54
時區
若伺服器的時區設定跟使用者所在的時區不同,透過 date
函數查出來的時間就可能有差異,若要查詢伺服器的時區設定,可以使用 date_default_timezone_get
函數:
# 取得時區設定 $timezone = date_default_timezone_get(); echo "伺服器時區:" . $timezone;
若要更改目前程式的時區設定,可以使用 date_default_timezone_set
函數:
# 設定時區 date_default_timezone_set('Asia/Taipei'); # 取得日期與時間(新時區) $today = date('Y/m/d H:i:s'); echo $today;
更改時區設定之後,在呼叫 date
函數時就會以新的時區為準。
參考資料:StackOverflow