如何在 PHP 中獲取當前日期和時間

Minahil Noor 2023年1月30日
  1. 使用 date()time() 函式獲取 PHP 中的當前日期和時間
  2. 使用 DateTime 物件獲取 PHP 中的當前日期和時間
如何在 PHP 中獲取當前日期和時間

在本文中,我們將介紹在 PHP 中獲取當前 datetime 的方法。

  • 使用 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.

如果要根據特定時區檢查時間,則必須手動設定時區。為此,使用了 DateTimesetTimezone() 的 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 DateTime