by shigemk2

当面は技術的なことしか書かない

DateTimeクラス

PHP: DateTime - Manual

日付と時刻をあらわす。

strtotimeはバグが起きやすかったりして、
公式で「使うな」と言われてしまっている。めんどくせー。

使いかたはこう。
まず、DateTimeのインスタンスを作成する。
次に、各種メソッドでオブジェクトを操作する。
ね、簡単でしょ?

ためしに$dateオブジェクトをprint_rすると、なんか配列が出力されたりします。
日付と時刻を出力したいときはformatメソッドを使いませう。

<?php
$date = new DateTime('2000-01-20');
print_r($date);
$date = new DateTime();
print_r($date);
echo $date->format('Y-m-d') . "\n";
$date->sub(new DateInterval('P1D'));
echo $date->format('Y-m-d') . "\n";
?>


出力結果

DateTime Object
(
    [date] => 2000-01-20 00:00:00
    [timezone_type] => 3
    [timezone] => Asia/Tokyo
)
DateTime Object
(
    [date] => 2012-07-21 16:34:37
    [timezone_type] => 3
    [timezone] => Asia/Tokyo
)
2012-07-21
2012-07-20