[PHP] strtotime()の書き方アラカルト

PHP
日時の処理を便利に扱うことができるstrtotime()をコピペで使えるようにするために、書き方パターンを並べておきます。

strtotime()について

英文形式の日付を Unix タイムスタンプに変換する関数としてマニュアルサイトで説明されている。 日時を独自の計算しなくても、直感的な文章で、算出できるので、非常に便利な関数。

書き方アラカルト

現在の日時

date("Y-m-d H:i:s", strtotime("now")); date("Y-m-d H:i:s");

昨日

date("Y-m-d", strtotime(date("Y-m-d"). " previous day"));

当月末

date("Y-m-d", strtotime(date("Y-m-d"). " last day of this month"));

前月

date("Y-m-d", strtotime(date("Y-m-d"). " previous month"));

前月末

date("Y-m-d", strtotime(date("Y-m-d"). " last day of previous month"));

来週の金曜日

date("Y-m-d", strtotime(date("Y-m-d"). " next friday"));

実行日の3日前

date("Y-m-d", strtotime(date("Y-m-d"). " -3 day"));

実行日の3週間前

date("Y-m-d", strtotime(date("Y-m-d"). " -3 week"));

実行日の3ヶ月前

date("Y-m-d", strtotime(date("Y-m-d"). " -3 month"));

2020-01-01

date("Y-m-d", strtotime("2020-1-1"));

指定付きから1年前までの年月を配列で取得

$ym = "2023-10"; $lists = []; for($i=0; $i<12; $i++){ $ym = date("Y-m", strtotime(date("{$ym}-01"). "-{$i} month")); array_push($lists , $ym); } print_r($lists);
# 結果 > [2023-10,2023-09,2023-08,2023-07,2023-06,2023-05,2023-04,2023-03,2023-02,2023-01,2022-12,2022-11]

リファレンスページ

PHPマニュアル : https://www.php.net/manual/ja/function.strtotime.php