2013年12月3日火曜日

php DateTimeなんてあったのね

phpで時間を求めるときに今まではdateとかtimeとかを使っていた。
が、php5.2だか5.3以降はDateTimeオブジェクトなるものが用意されているらしい。
2038年問題も解決されているようで、こちらを使ったほうが後々都合がよさそう。
というわけで使ってみた。

参考サイト
PHP 5.3 の DateTime オブジェクト関連の便利な新機能

現在時刻


/*---------------------------------------------------------------------------*/
$now = new DateTime();
/*---------------------------------------------------------------------------*/


文字列から時刻を求める


/*---------------------------------------------------------------------------*/
$time = new DateTime("2013-12-03 04:00:00"););
/*---------------------------------------------------------------------------*/

いくらか足した時間を求める


/*---------------------------------------------------------------------------*/
$interval = DateInterval::createFromDateString("+1 days");
$time = date_add( $updated, $interval );
/*---------------------------------------------------------------------------*/

DateIntervalオブジェクト相対的な日付を求めるために使用するオブジェクトだそうな。
コンストラクタに指定書式の文字列を渡すか、createFromDateStringを呼び出して、
strtotime見たいな使い方ができる。

date_addは読んで字のごとく。オブジェクトのメソッドにもaddがあるのでそっちを使ってもいい。

/*---------------------------------------------------------------------------*/
$time->add( $interval );
/*---------------------------------------------------------------------------*/

比較


/*---------------------------------------------------------------------------*/
$time == $now
$time < $now
$time > $now
/*---------------------------------------------------------------------------*/



他にも色々あるので、そちらは参考サイトや公式のマニュアルを参考に。
個人的には比較が楽でいい。


0 件のコメント:

コメントを投稿