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

 

PHP

Posted by arkgame