カテゴリ: PHP 更新日: 2026/07/19

PHPで明日や昨日の日付を取得する方法完全解説modifyとaddの使い方初心者でもわかる日付操作

PHPで明日の日付・昨日の日付を取得!modify()やadd()の便利な使い方
PHPで明日の日付・昨日の日付を取得!modify()やadd()の便利な使い方

先生と生徒の会話形式で理解しよう

生徒

「PHPで明日の日付や昨日の日付を簡単に取得する方法ってありますか?」

先生

「ありますよ。DateTimeクラスのmodifyやaddというメソッドを使うと簡単にできます。」

生徒

「どっちを使えばいいんですか?」

先生

「どちらも日付を変更する方法ですが、書き方や使い方が少し違います。それぞれ見ていきましょう。」

1. DateTimeとは何か

1. DateTimeとは何か
1. DateTimeとは何か

PHPで日付や時刻を扱う場合はDateTimeクラスを使うのが基本です。DateTimeは現在の日付や指定した日付をオブジェクトとして扱うことができ、様々な操作が可能になります。

初心者の方はカレンダーのようなものと考えると分かりやすいです。日付を作ってそこから前後に動かすイメージです。

2. modifyを使って明日の日付を取得する

2. modifyを使って明日の日付を取得する
2. modifyを使って明日の日付を取得する

modifyは文字列で日付を変更できる便利なメソッドです。英語の文章のように指定できるのが特徴です。


$date = new DateTime();
$date->modify('+1 day');

echo $date->format('Y-m-d');

明日の日付が表示される

このようにプラス一日と指定することで簡単に明日を取得できます。

3. modifyで昨日の日付を取得する

3. modifyで昨日の日付を取得する
3. modifyで昨日の日付を取得する

modifyはマイナス指定もできるため昨日の日付も簡単に取得できます。


$date = new DateTime();
$date->modify('-1 day');

echo $date->format('Y-m-d');

昨日の日付が表示される

プラスとマイナスを使い分けることで柔軟に日付を操作できます。

4. addを使った日付の加算方法

4. addを使った日付の加算方法
4. addを使った日付の加算方法

addはDateIntervalという専用のオブジェクトを使って日付を加算します。より厳密な指定が可能です。


$date = new DateTime();
$interval = new DateInterval('P1D');

$date->add($interval);

echo $date->format('Y-m-d');

明日の日付が表示される

このようにP1Dは一日という意味になります。

5. subを使って日付を減算する

5. subを使って日付を減算する
5. subを使って日付を減算する

addの逆にsubを使うことで日付を減らすことができます。


$date = new DateTime();
$interval = new DateInterval('P1D');

$date->sub($interval);

echo $date->format('Y-m-d');

昨日の日付が表示される

addとsubを使い分けることで正確な日付計算が可能になります。

6. modifyとaddの違い

6. modifyとaddの違い
6. modifyとaddの違い

modifyは文字列で直感的に指定できるのが特徴です。一方addはDateIntervalを使うため厳密で安全な処理に向いています。

簡単な日付操作ならmodify、正確な計算が必要な場合はaddを使うと良いです。

7. 実務での活用例

7. 実務での活用例
7. 実務での活用例

日付操作は予約システムや期限管理などでよく使われます。例えば明日までの期限や昨日のデータ取得などに活用できます。


$date = new DateTime();
$deadline = $date->modify('+1 day');

echo '締切: ' . $deadline->format('Y-m-d');

締切日が表示される

このように日付を動的に計算できると便利です。

8. 初心者が意識すべきポイント

8. 初心者が意識すべきポイント
8. 初心者が意識すべきポイント

まずはmodifyを使って日付を変更する方法を覚えることが大切です。直感的に使えるため理解しやすいです。

慣れてきたらaddやsubを使い分けることでより正確な日付操作ができるようになります。日付の扱いはシステム開発で頻繁に登場するため、しっかり理解しておきましょう。

まとめ

まとめ
まとめ

PHPで日付操作を行う際に重要となるDateTimeクラスとmodifyやaddやsubの使い方について解説してきましたが、ここで改めてポイントを整理しておきましょう。PHPの日付処理は初心者にとって難しく感じやすい分野ですが、基本を押さえることで一気に理解が深まり実務でも活用できるスキルになります。

まずDateTimeクラスはPHPにおける日付操作の中心的な存在です。単なる文字列として日付を扱うのではなく、オブジェクトとして日付を管理することで、加算や減算といった操作が簡単に行えるようになります。これにより、明日や昨日といった日付の計算だけでなく、予約管理や期限チェックなど幅広い場面で活用できます。

modifyメソッドは非常に直感的で、初心者におすすめの方法です。例えばプラス一日やマイナス一日といった指定を文字列で書けるため、コードを読んだだけで処理内容が理解しやすいというメリットがあります。英語の文章のように記述できるため、プログラミングに慣れていない方でも扱いやすいのが特徴です。


$date = new DateTime();
$date->modify('+1 day');

echo $date->format('Y-m-d');

明日の日付が表示される

一方でaddやsubはDateIntervalを使うため、より厳密で正確な日付計算が可能になります。特に業務システムでは日付のズレが大きな問題になることがあるため、正確な計算が求められる場面ではaddやsubを使うことが重要です。


$date = new DateTime();
$interval = new DateInterval('P1D');

$date->add($interval);

echo $date->format('Y-m-d');

明日の日付が表示される

またsubを使うことで過去の日付も簡単に取得できます。昨日や一週間前といった過去データの取得は分析処理やログ処理でよく使われるため、しっかり覚えておくと便利です。


$date = new DateTime();
$interval = new DateInterval('P1D');

$date->sub($interval);

echo $date->format('Y-m-d');

昨日の日付が表示される

modifyとaddの違いについても理解しておくことが大切です。modifyは簡単で柔軟な日付操作ができる反面、内部的には文字列解析が行われるため、複雑な条件では予期しない結果になることもあります。一方でaddやsubは構造化された形式で日付を扱うため、安定した結果を得ることができます。

実務においては、例えば締切日の自動設定や予約日の計算、ログの期間抽出など様々な場面で日付計算が必要になります。明日の日付や昨日の日付を取得する処理は一見単純ですが、その基礎をしっかり理解しておくことで応用力が大きく広がります。

初心者の方はまずmodifyを使った簡単な日付操作から始めて、徐々にaddやsubを使った正確な日付計算に慣れていくのが良いでしょう。日付処理はどの言語でも重要な基礎知識であり、PHPでも例外ではありません。

先生と生徒の振り返り会話

生徒

「DateTimeを使うと日付の計算が簡単になるんですね。」

先生

「そうです。特にmodifyを使うと直感的に明日や昨日を取得できるので便利です。」

生徒

「addやsubはどういうときに使うんですか?」

先生

「より正確な日付計算が必要なときに使います。業務システムではこちらがよく使われます。」

生徒

「modifyとaddは使い分ける必要があるんですね。」

先生

「その通りです。簡単な処理はmodify、正確な処理はaddやsubと覚えておくと良いでしょう。」

生徒

「日付操作ができると実務でも役立ちそうです。」

先生

「とても役立ちます。予約や期限管理など多くの場面で使うのでしっかり理解しておきましょう。」

カテゴリの一覧へ
新着記事
New1
Laravel
Laravelのルートとコントローラを対応付ける方法(名前付きルート)を初心者向けに解説
New2
Symfony
Symfonyで画像やファイルをアップロードする時のバリデーション完全ガイド!初心者でもわかる入力チェックの基本
New3
Laravel
Laravelで言語切替UIを作る!多言語対応(ローカリゼーション)実践ガイド
New4
CodeIgniter
CodeIgniterでローカル開発環境を構築する方法!初心者向け完全ガイド
人気記事
No.1
Java&Spring記事人気No1
CodeIgniter
CodeIgniterのキャッシュ管理を完全ガイド!初心者でもわかるメリットと注意点
No.2
Java&Spring記事人気No2
Symfony
Symfony学習に役立つおすすめドキュメント・教材・リソース一覧【初心者向け】
No.3
Java&Spring記事人気No3
Laravel
Laravelのプロジェクト構造を理解しよう!初心者向けディレクトリ解説
No.4
Java&Spring記事人気No4
CodeIgniter
CodeIgniterとは?特徴・できること・他PHPフレームワークとの違いを完全解説
No.5
Java&Spring記事人気No5
Laravel
Laravelローカリゼーション入門!言語の取得と切り替え(App::getLocale / setLocale)を徹底解説
No.6
Java&Spring記事人気No6
CodeIgniter
CodeIgniterのビュー共通化ガイド!初心者でもわかる部分ビューの読み込みとinclude設計
No.7
Java&Spring記事人気No7
Laravel
Laravelの条件分岐とループ処理をBladeで書く方法
No.8
Java&Spring記事人気No8
Symfony
TwigのHTMLエスケープとrawフィルタの使い方を完全解説!初心者にもわかるテンプレート表示のコツ