- 公開日: 2017年08月22日
phpで日付の加算を行う方法!
phpでは日付に対しての演算(加算や減算、妥当性のチェック等)を行うことができます。また、その方法はいくつか用意されており、今回はその方法をサンプルソースを交え、わかりやすく解説していきます。
phpで日付に対する処理を行うには、date()関数をまずは知らなければなりません。
date()関数に関してはphpで現在日時を取得する方法!を御覧ください。
phpで日付の加算をする
phpでは下記のようにstrtotime()関数を利用することで、日付文字列に対して、加算を行うことができます。
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"));
結果
"2017年08月22日"
"2017年09月21日"
"2018年08月21日"
"2017年08月28日"
phpで日付の減算をする
減算も同じように、strtotime()関数を使用することで実現できます。
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"));
結果
"2017年08月20日"
"2017年07月21日"
"2016年08月21日"
"2017年08月14日"
DateTimeクラス
こちらの記事でも紹介したように、DateTimeクラスを使用することで、日付への足し算や引き算を行うことができます。phpで現在日時を取得する方法!
$date = new DateTime('2017-08-21 16:44:44');
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時');
結果
"2017年08月21日 16時"
"2017年08月21日 22時"
"2017年08月28日 22時"
"2017年09月28日 22時"
"2017年09月29日 22時"
\Webサイト担当者としてのスキルが身に付く/
まとめ
いかがだったでしょうか。phpで日付に対する加算や減算を行う方法について解説しました。 date()関数やDateTimeクラスを使用する方法がありますが、DateTimeクラスを利用するほうが細かな処理を行うことができる印象です。処理の内容によって使い分けていきましょう。
- この記事を書いた人
- ベンジャミン吉澤