如何在 PHP 中獲取當前日期和時間
在本文中,我們將介紹在 PHP 中獲取當前 date
和 time
的方法。
- 使用
date()
和time()
函式 - 使用
DateTime
物件
使用 date()
和 time()
函式獲取 PHP 中的當前日期和時間
我們可以使用內建函式 date()
和 time()
以獲取 PHP 中的當前日期和時間。這些功能顯示當前日期和時間,與時區無關。使用這兩個函式的正確語法如下。
date($format, $timestamp);
內建函式 date()
有兩個引數。其引數的詳細資訊如下
引數 | 描述 | |
---|---|---|
$format |
強制性的 | 要顯示的日期格式。它有多種變體。應該是一個字串。 |
$timestamp |
可選的 | 獲取 date 的時間戳。如果省略,則返回當前日期。 |
它返回根據指定格式設定的日期。
time();
time()
函式不接受任何引數。它返回當前的 PHP 時間戳。時間戳是自 Unix 紀元以來計算的秒數。
下面的程式顯示瞭如何獲取當前的日期和時間,而與時區無關。
<?php
$DateAndTime = date('m-d-Y h:i:s a', time());
echo "The current date and time are $DateAndTime.";
?>
格式 "m-d-Y h:i:s a"
指定了返回的帶有月,日和 4 位數字年份值的日期,以及以小時,分鐘和秒為單位的時間。
輸出:
The current date and time are 05-20-2020 05:44:03 pm.
這裡要注意的一件事是,沒有根據某個時區設定時間。它是使用 Unix 時間戳顯示的時間。如果要根據時區檢查當前的 PHP time
,則需要手動設定時區。
例如,如果要檢查阿姆斯特丹的當前時間,則必須手動設定阿姆斯特丹的時區。為此,使用了 PHP 函式 date_default_timezone_set()
。使用此函式的正確語法如下
date_default_timezone_set($timezone);
它僅接受一個引數。
引數 | 描述 | |
---|---|---|
$timezone |
強制性的 | 它是一個字串,用於標識我們希望為其設定時區的區域。你可以在此處檢查支援的時區列表。 |
該函式返回布林值。如果時區設定成功,則返回 true
;否則,它返回 false
。
設定時區後,下面的程式將顯示時間。
<?php
date_default_timezone_set('Europe/Amsterdam');
$DateAndTime = date('m-d-Y h:i:s a', time());
echo "The current date and time in Amsterdam are $DateAndTime.\n";
date_default_timezone_set('America/Toronto');
$DateAndTime2 = date('m-d-Y h:i:s a', time());
echo "The current date and time in Toronto are $DateAndTime2.";
?>
輸出:
The current date and time in Amsterdam are 05-20-2020 08:08:42 pm.
The current date and time in Toronto are 05-20-2020 02:08:42 pm.
使用 DateTime
物件獲取 PHP 中的當前日期和時間
在 PHP 中,DateTime
類用於處理與日期 date
和時間 time
有關的問題。此類的 format()
函式以指定的格式顯示日期和時間。
我們將首先建立一個 DateTime
物件,然後呼叫 format()
函式以顯示日期和時間。
$ObjectName = new DateTime();
$ObjectName->format($format);
函式 format()
接受一個引數。
引數 | 描述 | |
---|---|---|
$format |
強制性的 | 日期和時間的格式。應該是一個字串。 |
顯示當前日期和時間的示例程式如下。
<?php
$Object = new DateTime();
$DateAndTime = $Object->format("d-m-Y h:i:s a");
echo "The current date and time are $DateAndTime.";
?>
輸出是具有指定格式的日期和時間。顯示的時間是從 Unix Epoch 開始計算的時間。
輸出:
The current date and time are 20-05-2020 06:21:06 pm.
如果要根據特定時區檢查時間,則必須手動設定時區。為此,使用了 DateTime
類 setTimezone()
的 PHP 內建函式。使用此函式的正確語法如下。
$ObjectName = new DateTime();
$ObjectName->setTimezone(DateTimezone $timezone);
函式 setTimezone()僅接受一個引數。成功返回 DateTime
物件,失敗返回 False
。
引數 | 描述 | |
---|---|---|
$timezone |
強制性的 | 它是一個 DateTimezone 物件,用於指定時區。你可以在此處檢查支援的時區列表。 |
根據特定時區顯示時間的示例程式如下。
<?php
$Object = new DateTime();
$Object->setTimezone(new DateTimeZone('Europe/Amsterdam'));
$DateAndTime = $Object->format("d-m-Y h:i:s a");
echo "The current date and time in Amsterdam are $DateAndTime.\n";
$Object->setTimezone(new DateTimeZone('America/Toronto'));
$DateAndTime = $Object->format("d-m-Y h:i:s a");
echo "The current date and time in Toronto are $DateAndTime.";
?>
輸出:
The current date and time in Amsterdam are 20-05-2020 08:43:02 pm.
The current date and time in Toronto are 20-05-2020 02:43:02 pm.
相關文章 - PHP Date
- 如何在 PHP 中新增天數到日期
- 如何使用 PHP 計算兩個日期之間的差
- 如何在 PHP 中將 DateTime 轉換為字串
- 如何在 PHP 中將字串轉換為日期和日期時間
- 如何在 PHP 中將一種日期格式轉換為另一種日期格式