【PHP】日付文字列を日付として計算する方法

PHP

サンプルコード

‘2020-06-30’の日付文字列の3日後を計算する例です。

<?php

$date = '2020-06-30';

//2020-07-03が出力される
echo date('Y-m-d', strtotime($date . '+3 day'));

?>

解説

strtotime関数

日付文字列をUnix時間に変換する関数。

Unix時間(英語表記ではUnix Time, POSIX Time, Epoch Time) は、1970/01/01 00:00:000からの経過時間を秒数で表したもので、これにより時間を表現する。

戻り値は、成功時は整数、失敗時はfalseを返す。

参考
strtotime – PHPマニュアル

date関数

Unix時間を日付文字列に変換する関数。

第1引数には出力する日付文字列の書式、第2引数にはUnix時間を指定する。

上の例の場合、西暦4桁(‘Y’)、月2桁(‘m’)、日2桁(‘d’)を表す。
なので、結果は、2020-06-30から3日後の2020-07-03が出力される。

書式の詳細は以下のPHP公式マニュアルを参照のこと。

参考
date – PHPマニュアル

【おまけ】CodePenのようにPHPのコードを試せるサイト

探せば色々ありますが、3v4l.orgというサイトがシンプルで使いやすいです。
実行環境のバージョンが選択でき、かつ各バージョンごとの実行時のパフォーマンスも計測できるみたい。
バージョンを選んで「quick preview in」をクリックすると、該当バージョンでの出力結果がスピーディに確認できます。

CodePenやJSFiddleは、HTML、CSS、JavaScriptだけなので、PHPのサンドボックスが使えるサイトは有り難いですね。

ちなみに、Runkit_Sandboxを使えば自分でサンドボックス環境が作れるようです。

少し脱線しましたが、以上です。
終わり。

 

アイキャッチはAndrey KhoviakovによるPixabayからの画像