PHP5から、DateTimeクラスというクラスが用意されています。
便利なので使用方法をメモします。
//オブジェクト生成 $test = new DateTime(); //今日の日時を出力 echo $test->format('Y-m-d H:i:s'); //modify()で3日進ませて $test->modify('+3 day'); //3日後の日時を出力 echo $test->format('Y-m-d H:i:s'); //1か月単位での日時変更も可能 $test->modify('-1 month');//1か月前 $test->modify('+1 month');//1か月後 //日時指定でオブジェクトを生成 $test = new DateTime('2014-04-20');
使い方は至ってシンプルで、DateTime()でオブジェクトを生成(初期化)し、format()で指定した形式で日時を出力、modify()でオブジェクトの日時を変更するといった具合。
DateTime() の引数に使える文字列は、strtotime()と同じです。
format() の引数に使える文字列はdate()と同じです。
modify() の引数に使える文字列はstrtotime()と同じです。
DateTime()の引数に使える文字列の例(これで全てではありません。)
形式 | 内容 |
---|---|
2014-04-20 17:11:22 | 基本 |
2014-04-20 | 月日の頭のゼロは省略可能です。 |
7:2:5 | 時分秒の頭のゼロは省略可能です。年月日は、指定していないので今日になります。 |
4/20 18:33 | 年と秒も省略可能です。区切り文字は、スラッシュも可能。 |
Sun, 20 April 2014 17:11:22 | RFC2822形式での指定も可能です。 |
Sun April 20 17:11:22 TC 2014 | 一応このような形式も可能です。 |
@1554433825 | UNIXエポック秒での指定です。 |
now | 今の時刻 |
today | 今日の00:00:00 |
tommorow | 次の日の00:00:00 |
yesterday | 前の日の00:00:00 |
next Sat | 次の土曜の00:00:00 |
last month | 今日から1か月前 |
modify()の引数に使える文字列の例(これで全てではありません。)
modify()は、オブジェクトの日時を変更するメソッドです。
形式 | 内容 |
---|---|
+1 day | 次の日(時間分秒は、同じです。) |
next month | 次の月(時間分秒は、同じです。) |
last week | 一週間前(時間分秒は、同じです。) |
3 years | 単位は複数系でもよい。+は省略してもOK。 |
+1 hour -3 minutes 32 second | 複数同時指定することもできます。 |
[対象]
PHP 5.X