PHP で日付に日を追加する方法
PHP の date
文字列の操作はさまざまな方法で行うことができ、時間、月、年などを追加または差し引くことができます。PHP は DateTime
、date_add
および strtotime()
と date()
とそれらのような異なる機能を提供します。
PHP で日を追加するための DateTime()
の add
メソッド
PHP バージョン 5.3 以降を使用すると、DateTime
オブジェクトとその add
メソッドもソリューションになります。DateTime
は、strtotime
や date
よりも多くの日付形式をサポートしています。オブジェクトの使用は、任意の関数よりも簡単です。たとえば、2つの日付を比較する場合、それは DateTime
で直接行われますが、strtotime
では最初に日付をタイムスタンプに変換する必要があります。
例:
<?php
$oldDate = "2020-02-27";
$newDate = new DateTime($oldDate);
$newDate->add(new DateInterval('P1D')); // P1D means a period of 1 day
$fomattedDate = $date->format('Y-m-d');
?>
次のコードが出力されます:
echo $fomattedDate; //output: 2020-02-28
DateTime()
を使用する上で難しい部分は、DateInterval
オブジェクトです。これは有効な間隔指定を受け入れます。適切な形式は、period
を意味する文字 P
で始まり、整数値が続き、その日の D
が続きます。期間が時間の場合、最後の部分は T
である必要があります。
PHP で日付を追加するための strtotime()
と date()
の組み合わせ
strtotime()
は、英語のテキスト形式の日付の説明を UNIX タイムスタンプに変換するために使用される PHP 関数です。strtotime
関数は日時を表す文字列値を受け入れます。
例:
<?php
$oldDate = "2020-02-27";
$date1 = date("Y-m-d", strtotime($oldDate.'+ 1 days'));
$date2 = date("Y-m-d", strtotime($oldDate.'+ 2 days'));
?>
次のコードが出力されます:
echo $date1; //output: 2020-02-28
echo $date2; //output: 2020-02-29
上記の例は、適切な形式の日付文字列を受け入れ、strtotime
と +1 days
を使用して新しい日付を返します。date()
関数は適切なフォーマットを与えました。
**注:**不明瞭にならないように、ISO 8601 (YYYY-MM-DD)
形式を使用することをお勧めします。
PHP で日付を追加する date_add()
このアプローチは、日、月、年、時間、分、秒を追加する他の方法の中で最も簡単です。
例:
$oldDate = date_create("2020-02-27");
date_add($oldDate, date_interval_create_from_date_string("1 day"));
アプリケーション:
echo date_format($date,"Y-m-d"); //output: 2020-02-28
上記の例では、日付を日付文字列に追加し、date_create()
は DateTime オブジェクトを作成します。date_interval_create_from_date_string()
は文字列の一部から DateInterval
を設定します。そして最後に、date_add()
は日付値をインクリメントします。