PHP DateTimeImmutableクラスのmodifyメソッドでn年後、nヶ月後の日時を計算するサンプル
環境
PHP 8.1.2
Ubuntu 22.04.1 LTS
構文
public DateTimeImmutable::modify ( string $modifier ) : DateTimeImmutable|false
$変数名 = new DateTimeImmutable(日付);
3年後を求める
$変数名->->modify(“+3 year");
2ヶ月後を求める
$変数名->modify(“+2 month");
DateTimeクラスは、ミュータブルのためここではイミュータブルのDateTimeImmutableクラスを使用しています。
年月日時分秒と週を指定しています。
modifyメソッドの引数にプラスの値を指定すると加算します。
使用例
<!DOCTYPE html> <html> <body> <?php $dateA = new DateTimeImmutable('2022-11-10 22:30:10'); // 3年後を求める $dateB = $dateA->modify("+3 year"); echo "<pre>"; print "3年後の日時を計算する結果: \n"; print $dateB->format("Y/m/d H:i:s"); echo "</pre>"; // 3ヶ月後を求める $dateC = $dateA->modify("+3 month"); echo "<pre>"; print "3ヶ月後の日時を計算する結果: \n"; print $dateC->format("Y/m/d H:i:s"); echo "</pre>"; // 3日後を求める $dateD = $dateA->modify("+3 day"); echo "<pre>"; print "3日後の日時を計算する結果: \n"; print $dateD->format("Y/m/d H:i:s"); echo "</pre>"; ?> </body> </html>
実行結果
3年後の日時を計算する結果: 2025/11/10 22:30:10 3ヶ月後の日時を計算する結果: 2023/02/10 22:30:10 3日後の日時を計算する結果: 2022/11/13 22:30:10