関数 date_sub

関数 date_sub は、日付オブジェクトから時間間隔を減算します。 最初のパラメータとして DateTime オブジェクト、2番目のパラメータとして DateInterval オブジェクトを受け取ります。

構文

phpdate_sub(DateTime $object, DateInterval $interval);

例

指定した日付から 10 日を引きます:

php<?php
  $date = new DateTime('2025-06-15');
  $interval = new DateInterval('P10D');
  
  date_sub($date, $interval);
  echo $date->format('Y-m-d');
?>

コードの実行結果:

php'2025-06-05'

例

日付から 1 年と 2 ヶ月を引きます:

php<?php
  $date = new DateTime('2025-03-20');
  $interval = new DateInterval('P1Y2M');
  
  date_sub($date, $interval);
  echo $date->format('Y-m-d');
?>

コードの実行結果:

php'2024-01-20'

例

関数 date_create は DateTime オブジェクトを返します。 コードを部分的にOOP、部分的に関数型の混合スタイルに書き直すことができます:

php<?php
  $date = date_create('2025-03-20');
  $interval = new DateInterval('P1Y2M');
  
  date_sub($date, $interval);
  echo date_format($date, 'Y-m-d');
?>

コードの実行結果:

php'2024-01-20'

関連項目

  • 関数 date_sub(関数型スタイル)
  • 関数 date_add(OOPスタイル)