PHP で DateTime を文字列に変換する方法
-
DateTime
クラスのformat()
メソッドを使用する -
date_format()
メソッドの使用 -
date_d.php
で事前定義されたフォーマットを使用する -
PHP で
list()
を使用してDateTime
をString
に変換する
PHP での DateTime
の文字列への変換するは非常に簡単です。この目的のために用意されている便利な関数があり、DateTime
クラスの format()
、date_format()
、事前定義された形式または list()
。
DateTime
クラスの format()
メソッドを使用する
PHP には、日付と時刻を管理するためのクラス DateTime
があります。PHP 5.2 以降で使用できます。
日付を管理するために従来の PHP 関数よりも DateTime
を使用するいくつかの理由:
- より多くの文字列フォーマットを処理できます
- 他の機能より簡単です。
- インターフェイスは、使用するクリーンなインターフェイスでバックエンドロジックをカプセル化します。
DateTime
クラスの便利なメソッドの 1つは format()
で、指定された形式に従ってフォーマットされた日付文字列を返します。
例:
$theDate = new DateTime('2020-03-08');
echo $stringDate = $theDate->format('Y-m-d H:i:s');
//output: 2020-03-08 00:00:00
$stringDate
は提供された形式の文字列です。
DateTime->format()
は実際にはマイクロ秒をサポートしていません。date_format()
メソッドの使用
date_format()
メソッドは新しい DateTime
オブジェクトを返し、指定されたフォーマットに従って日付をフォーマットします。
例:
$date = date_create_from_format('d M, Y', '08 Mar, 2020');
echo $newFormat = date_format($date,"Y/m/d H:i:s");
//output: 2020/03/08 00:00:00
date_create_from_format()
は、提供されたフォーマットに従って時間文字列を解析するために使用されています。この関数は、format
、time
、および timezone
(オプション)の 3つのパラメーターを受け入れます。
上記の例では、date_format()
は作成された日付を処理して文字列に変換します。
date_d.php
で事前定義されたフォーマットを使用する
定義済みフォーマットのリスト:
define ('DATE_ATOM', "Y-m-d\TH:i:sP");
define ('DATE_COOKIE', "l, d-M-y H:i:s T");
define ('DATE_ISO8601', "Y-m-d\TH:i:sO");
define ('DATE_RFC822', "D, d M y H:i:s O");
define ('DATE_RFC850', "l, d-M-y H:i:s T");
define ('DATE_RFC1036', "D, d M y H:i:s O");
define ('DATE_RFC1123', "D, d M Y H:i:s O");
define ('DATE_RFC2822', "D, d M Y H:i:s O");
define ('DATE_RFC3339', "Y-m-d\TH:i:sP");
define ('DATE_RSS', "D, d M Y H:i:s O");
define ('DATE_W3C', "Y-m-d\TH:i:sP");
例:
$dateFormat = new DateTime(); // this will return current date
echo $stringDate = $date->format(DATE_ATOM);
//output: 2020-03-08T12:54:56+01:00
上記の例では、事前定義された形式の 1つを使用しているため、実際に提供する必要はありません。
PHP で list()
を使用して DateTime
を String
に変換する
list()
関数は、1 回の操作で変数のリストに値を割り当てるために使用できますが、数値配列でのみ機能します。配列が複数の値に割り当てられている場合、配列の最初の項目は最初の変数に割り当てられ、その後も変数の数の最後まで割り当てられます。ただし、変数の数は数値配列の長さを超えることはできません。
例:
$date = explode("/",date('d/m/Y/h/i/s')
list($day,$month,$year,$hour,$min,$sec) = $date);
echo $month.'/'.$day.'/'.$year.' '.$hour.':'.$min.':'.$sec;
//output: 03/08/2020 02:01:06
list()
関数を使用すると、$day
、$month
、$year
、$hour
、$min
、および $sec
を変数として簡単に使用できます。
関連記事 - PHP Date
- PHP で日付に日を追加する方法
- PHP を使用して 2つの日付の差を計算する方法
- PHP で文字列を日付と日時に変換する方法
- PHP で 1つの日付形式を別の日付形式に変換する方法
- PHP で現在の日付と現在時刻を取得する方法
関連記事 - PHP DateTime
- PHP を使用して 2つの日付の差を計算する方法
- PHP で現在の年を取得する方法
- PHP で日付をタイムスタンプに変換する方法
- PHP でタイムスタンプを読み取り可能な日付または時刻に変換する方法
- PHP で現在の日付と現在時刻を取得する方法