特定の日付けから1か月前、1週間後などを求める方法まとめ【PHP】date()とstrtotim()で日付を処理date()の基本的な使い方PHPで日付けを扱う時によく使用するのがdate()関数です。format(フォーマット)を指定することで、いろいろな形式で日付を取得することも出来ます。10:01:01」といった形式で日付を取得できます。date(“Y年n月j日”);とすれば、「2023年07月10日」といった形式で日付を返してくれます。date(“Y”);とすれば、「2023」と年だけを返してくれます。これが、date()関数の基本的な使い方になります。formatは、以下のページで説明してくれているので参考にしてください。Manualdate()関数で1日前、1か月後などを求める方法と、ここまででつまずく人はいないと思います。・1日前の日付けを取得したい・1週間前の日付け取得したい・1か月後の日付け取得したいなどという時はありませんか?そんな時には、strtotime()関数と組み合わせることで、簡単に求められます。day”);で、1日前のタイムスタンプを取得することが出来ます。あとは、そのタイムスタンプを、date()関数を使って指定の形式に変換してやるだけです。このような感じですね。day”));これで、今日が2023年07月05日だとすれば、1日前の「2023年07月04日」を返してくれます。day”とすれば、逆に翌日の日付けを返してくれます。dayと指定すれば、3日前・3日後の日付が返ってきます。year”と指定すると、それぞれ1週間前、1か月前、1年前の日付けを求められます。特定の日付けから1か月前、1週間後などを求める方法もう少し応用すれば、ある特定の日付けから1か月前、1週間後、3日後・・・など求めることも出来ます。↓ある特定の日付け(例えば「2023年07月05日」)から1ヶ月前の日付けを求めたい場合、strtotime()関数を使って2023年07月05日をタイムスタンプに変換することで、目的の日付を取得することが出来ます。↓このような感じで入れ子にすることで、こちらが求めている日付け「2023年06月05日」を返してくれます。strtotime(“2023-07-05”)));まとめ今回は、date()関数の基本的な使い方と、strtotime()関数を使った応用的な方法を紹介しました。date()関数とstrtotime()関数の組み合わせを使う機会は良くあるので、覚えておくと非常に便利です。他にも、PHPにはtime()関数やmktime()関数など、日付けを扱う関数がいくつか存在します。DateTimeImmutableクラスもよく使用されます。興味のある人は調べてみてください。因みに、PHPには2038年問題という重大な問題があります。それについても気が向いたらブログに書こうと思います。