PHPのdate関数を使えば自分の取得したい日付を1行でズバッと指定できます。
もう簡単すぎて、プログラムというよりは言葉で伝えてあげるだけでいい言語ですね。
昨日や明日といったフルローテな指定から1時間前や1時間後といったマニアックな指定まで。
さぁ、時間旅行のはじまりです。
PHPで昨日の日付を取得してみる
まずは昨日の日付を取得するプログラムをみてみましょう。
$yesterday = date("n/d", mktime(0, 0, 0, date("m"), date("d")-1, date("Y")));
echo "昨日は " . $yesterday . "です。";
これはmktimeを使って昨日の日付を取得した例ですが、解説がいらないほど単純ですね。
mktimeで現在の日付を取得する時にdayの部分を-1するだけです。
でももっと簡単なstrtotime関数もあるので、見て行きましょう。
PHPで過去の日付や時間を取得する
PHPのdateで日付を操作してみます。昨日といった日付から1時間前といった時刻まで意のままです。
▼過去
1日前 date("Y-m-d H:i:s",strtotime("-1 day"));
1ヶ月前 date("Y-m-d H:i:s",strtotime("-1 month"));
1年前 date("Y-m-d H:i:s",strtotime("-1 year"));
1週間前 date("Y-m-d H:i:s",strtotime("-1 week"));
1時間前 date("Y-m-d H:i:s",strtotime("-1 hour"));
1分前 date("Y-m-d H:i:s",strtotime("-1 minute"));
1秒前 date("Y-m-d H:i:s",strtotime("-1 second"));
PHPで1秒前を取得する機会がある人にまだ会ったことはありませんが、とても細かくて繊細なプログラムに使う日がくるかもしれません。
たまにAPIで1秒に1回までという制限がありますが、世の中は秒で管理されているのですね。
そんな事を考えていると沖縄の人に憧れを抱きます。
PHPで未来の日付や時間を取得する
さて今度は未来です。まるで自分がドラえもんになったつもりでPHPをコーディングしましょう。
▼未来
1日後 date("Y-m-d H:i:s",strtotime("+1 day"));
1ヶ月後 date("Y-m-d H:i:s",strtotime("+1 month"));
1年後 date("Y-m-d H:i:s",strtotime("+1 year"));
1週間後 date("Y-m-d H:i:s",strtotime("+1 week"));
1時間後 date("Y-m-d H:i:s",strtotime("+1 hour"));
1分後 date("Y-m-d H:i:s",strtotime("+1 minute"));
1秒後 date("Y-m-d H:i:s",strtotime("+1 second"));
もうね、簡単すぎて申し訳ござい。
PHPで未来の日付を取得していると気持ちが明るくなるのはなぜでしょう。
それは明るい未来が待っている証拠なのかもしれません。
まとめ
PHPの日付に欠かせないstrtotime関数のフォーマットを暗記してしまえば、コーディング中にいつでもトリップできますね。
もしも現実の世界に今すぐ戻りたいならstrtotime(“now”);を唱えれば良いと古い書物に記されていました。
どうかご無事で。
今日も知識欲は止まらない。