PHP で現在の日付と時刻を取得する方法

  1. PHP で現在の日付と時刻を取得するために date() および time() 関数を使用する
  2. PHP で DateTime オブジェクトを使用して現在の日付と時刻を取得する

この記事では、PHP で現在の「日付」と「時刻」を取得するメソッドを紹介します。

  • date() および time() 関数を使用する
  • DateTime オブジェクトを使用する

PHP で現在の日付と時刻を取得するために date() および time() 関数を使用する

組み込み関数 date()time() を使用して、PHP の現在の「日付」と「時刻」を取得します。これらの関数は、タイムゾーンに関係なく現在の日付と時刻を表示します。これら 2つの関数を使用するための正しい構文は次のとおりです。

date($format, $timestamp);

組み込み関数 date() には 2つのパラメーターがあります。パラメータの詳細は以下の通りです

パラメーター             説明
$format 必須の 表示する日付形式。いくつかのバリエーションがあります。文字列でなければなりません。
$timestamp オプション 「日付」を取得するためのタイムスタンプ。省略すると、現在の日付が返されます。

指定されたフォーマットに従って設定された「日付」を返します。

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.

ここで注意すべき点の 1つは、time が特定のタイムゾーンに従って設定されていないことです。Unix タイムスタンプを使用して表示される時刻です。タイムゾーンに基づいて現在の PHP の「時刻」を確認する場合は、タイムゾーンを手動で設定する必要があります。

たとえば、アムステルダムの現在の「時刻」を確認する場合は、アムステルダムのタイムゾーンを手動で設定する必要があります。この目的のために、PHP 関数 date_default_timezone_set() が使用されます。この関数を使用するための正しい構文は次のとおりです

date_default_timezone_set($timezone);

1つのパラメーターのみを受け入れます。

パラメーター             説明
$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.

PHP で DateTime オブジェクトを使用して現在の日付と時刻を取得する

PHP では、DateTime クラスを使用して、datetime に関連する問題に対処します。このクラスの format() 関数は、指定された形式で日付と時刻を表示します。

最初に DateTime オブジェクトを作成し、次に format() 関数を呼び出して日付と時刻を表示します。

$ObjectName = new DateTime();
$ObjectName->format($format); 

関数 format() は 1つのパラメーターを受け入れます。

パラメーター             説明
$format 必須の 日付と時刻のフォーマット。文字列でなければなりません。

現在の「日付」と「時刻」を表示するプログラムの例は次のとおりです。

<?php
$Object = new DateTime();  
$DateAndTime = $Object->format("d-m-Y h:i:s a");  
echo "The current date and time are $DateAndTime.";
?>

出力は指定されたフォーマットの datetime です。表示される時間は、Unix エポック以降に計算された時間です。

出力:

The current date and time are 20-05-2020 06:21:06 pm.

特定のタイムゾーンに従って「時間」を確認したい場合は、タイムゾーンを手動で設定する必要があります。この目的のために、DateTime クラスの PHP 組み込み関数 setTimezone() が使用されます。この関数を使用するための正しい構文は次のとおりです。

$ObjectName = new DateTime();
$ObjectName->setTimezone(DateTimezone $timezone); 

関数 setTimezone() はパラメータを 1つだけ受け入れます。成功すると 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 を使用して 2つの日付の差を計算する方法
  • 関連記事 - PHP Time

  • PHP を使用して 2つの日付の差を計算する方法
  • PHP で分単位の時差を取得する方法
  • comments powered by Disqus