phpで日付に対する処理を行うには、date()関数をまずは知る必要があります。
date()関数に関してはPHP言語で現在日付(現在時間)を取得する方法をご覧ください。
phpで○年後・○ヶ月後・○日後という日付の加算をする
phpでは下記のようにstrtotime()関数を利用することで、日付文字列に対して、加算を行うことができます。
1 2 3 4 5 |
echo date("Y年m月d日", strtotime("1 day")); echo date("Y年m月d日", strtotime("1 month")); echo date("Y年m月d日", strtotime("1 year")); echo date("Y年m月d日", strtotime("1 week")); |
結果
1 2 3 4 5 |
"2018年08月28日" "2018年09月27日" "2019年08月27日" "2018年09月03日" |
phpで○年前・○ヶ月前・○日前という日付の減算をする
減算も同じように、strtotime()関数を使用することで実現できます。
1 2 3 4 5 |
echo date("Y年m月d日", strtotime("-1 day")); echo date("Y年m月d日", strtotime("-1 month")); echo date("Y年m月d日", strtotime("-1 year")); echo date("Y年m月d日", strtotime("-1 week")); |
結果
1 2 3 4 5 |
"2018年08月20日" "2018年07月21日" "2017年08月21日" "2018年08月14日" |
DateTimeクラス
PHP言語で現在日付(現在時間)を取得する方法でも紹介したようにDateTimeクラスを使用することで、日付への足し算や引き算を行うことができます。
1 2 3 4 5 6 7 8 9 10 |
$date = new DateTime('2018-08-21 20:32:33'); echo $date->format('Y年m月d日 H時'); $date->modify('+6 hours'); echo $date->format('Y年m月d日 H時'); $date->modify('+1 weeks'); echo $date->format('Y年m月d日 H時'); $date->modify('+1 months'); echo $date->format('Y年m月d日 H時'); $date->modify('+1 days'); echo $date->format('Y年m月d日 H時'); |
結果
1 2 3 4 5 |
"2018年08月21日 20時" "2018年08月21日 02時" "2018年08月28日 02時" "2018年09月28日 02時" "2018年09月29日 02時" |