DateTimeImmutable::sub
年月日時分秒の値を引く
&reftitle.description;
#[\NoDiscard]
public DateTimeImmutableDateTimeImmutable::sub
DateIntervalinterval
指定した DateInterval オブジェクトを、
指定した DateTimeImmutable オブジェクトから引き、
新しい DateTimeImmutable オブジェクトを返します。
&reftitle.parameters;
interval
DateInterval オブジェクト。
&reftitle.returnvalues;
&date.datetimeimmutable.return.modifiedobject;
&reftitle.errors;
サポートされていない操作を試みた場合、
DateInvalidOperationExceptionがスローされます。
サポートされていない操作の例としては、
next weekday のような相対時刻を表現する
DateInterval を使った場合が挙げられます。
&reftitle.changelog;
&Version;
&Description;
8.3.0
サポートされていない操作を試みた場合に、警告を発生させるのではなく、
DateInvalidOperationException がスローされるようになりました。
&reftitle.examples;
DateTimeImmutable::sub の例
&style.oop;
sub(new DateInterval('P10D'));
echo $newDate->format('Y-m-d') . "\n";
?>
]]>
&example.outputs;
DateTimeImmutable::sub の別な例
sub(new DateInterval('PT10H30S'));
echo $newDate->format('Y-m-d H:i:s') . "\n";
$date = new DateTimeImmutable('2000-01-20');
$newDate = $date->sub(new DateInterval('P7Y5M4DT4H3M2S'));
echo $newDate->format('Y-m-d H:i:s') . "\n";
?>
]]>
&example.outputs;
月を減算する際は注意
sub($interval);
echo $newDate1->format('Y-m-d') . "\n";
$newDate2 = $newDate1->sub($interval);
echo $newDate2->format('Y-m-d') . "\n";
?>
]]>
&example.outputs;
&reftitle.seealso;
DateTimeImmutable::add
DateTimeImmutable::diff
DateTimeImmutable::modify