日付・時刻の計算

繰り上がり/繰り下がり計算が楽

日付や時刻の加減算は、繰り上がりや繰り下がりの処理が面倒です。 PHP では、関数 strtotime を用いると、楽に計算できます。

strtotime

strtotime は、タイムスタンプ(1970年1月1日0時0分0秒からの経過時間)に加減算してタイムスタンプを返します。

 print strtotime("+1 hour",3600); 
 print strtotime("next Sunday"); 

最初の引数が加減算する日時です。上の例ではプラスですが、マイナスも可能です。 2 つめの引数は、タイムスタンプです。省略した場合は現在の日時のタイムスタンプになります。

タイムスタンプそのままだと分かりにくいので、date 関数で表記を整えます。

 print date("Y/m/d H:i:s",strtotime("+1 day")); 

引数の設定方法

上の例であげたように、+/-数字、year/month/week/day/hour/minute/second という形式が明解でしょう。

この他、sunday/monday のように曜日を指定したり、april のように月を指定したりすることもできます。 例えば「+1 sunday」とすれば、次の日曜日の日付になります。

2038年問題

32 ビットでタイムスタンプを表記すると、2038年1月途中で最大値に達します。 このため、将来的に困るかもしれません。

Copyright (C) 2003-2013. PHP で WEB 作成 All rights reserved.