PHP 5.2以降の話。
PHPで、日付を計算したい時がたまにある。ある日付の7日前の日付とか、システム日時の1ヵ月後の日付とか。たいていは日付関連の機能をまとめたclassを作っておいて、その中に日付計算機能を入れておく。でも、PHP5.2以降ならDateTimeオブジェクトを使えば簡単に日付の計算ができる。
まずDateTimeオブジェクトを生成する。普通にnewするか、date_create()で生成できる。
あとは、DateTime::modify()で日付の加減算をして、DateTime::date_format()で出力する。
$date = new DateTime("2006-12-12");
$date->modify("+1 day");
echo $date->format("Y-m-d");
面白いのはmodify()で指定できる日付の形。普通は"+1 day"とか"+1 week"なんかを指定するけど、"last Monday"なんてのも指定できて便利。
この書式については、PHPのstrtotime()やGNU tar 1.15.1: Relative items in date stringsに詳しく書いてある。
"2days ago"と複数形でも指定できるし、"tomorrow"なんてのもできて、ソースコードがここだけちょっと普通の文章っぽく出来るね。
関連記事:
PHPの計算が融通が利く件について
FeedCreator.class.phpを使いこなすポイント
PHPでhttpステータス404を返す方法
なぜPEAR::Services_Flickrが無いのか?
PHPで簡単にRSS/Atomフィードを生成
0 件のコメント:
コメントを投稿