いまさら感はあるんだけどさ。phpの日付処理は、クラス+メソッドで実装されてない*1。オブジェクト指向が最高だと思わないし、それが以外の手法もあって、それも便利ってことを改めて認識したのでエントリにします。
日付処理をする .
日付関数を組み合わせたサンプル
<?php $date = date_create('2000-01-01'); date_add($date, date_interval_create_from_date_string('10 days')); echo date_format($date, 'Y-m-d'); ?>
参考→PHP: DateTime::add - Manual
意外と便利ね。でもJava臭てかなわない書き方だよね date_addとか date_create して結果をdate_addするとか
そんな面倒なことしなくても・・・・
<?php $t = time(); strtotime("+1day”, $t);
<?php date_default_timezone_set("Asia/Tokyo"); $d = "2012-02-10"; $a = strtotime($d); $a = strtotime( "+1 day", $a ); var_dump(date("Y-m-d",$a));
これだけでできたりする。
書式の詳しいことはマニュアルに
PHP: Relative Formats - Manual
特に相対的時刻が便利なんで活用するといいですね
"last day of next month"
とか
"tommorow noon "
とか
"+5 weeks"
"12 day"
とかでどんどん日付を進められる。
とても便利です
$time + 60*60*24
よりは
<?php strtotime("+1day" , $time);
と書いたほうがコードの意図が明確になるよね。
*1:Datetimeクラスあたりを使えばあるんだけど