日付・時間操作用PHPライブラリを作りました
自作の PHP ライブラリの DT パッケージを本日リリースしました。
ドキュメントはコチラからどうぞ。
http://trashtoy.github.com/peach/
力尽きたので詳細は後日書きますが、例えばこんなことが出来ます。
<?php // timezone = Asia/Tokyo (UTC+9) とします require_once("/path/to/peach/DT/load.php"); $today = new DT_Date(2012, 5, 21); $tomorrow = $today->add("date", 1); $yesterday = $today->add("date", -1); echo $today; // "2012-05-21" echo $tomorrow; // "2012-05-22" echo $yesterday; // "2012-05-20" echo $today->get("year"); // "2012" echo $today->get("month"); // "5" echo $today->get("date"); // "21" $d = $today->toDatetime() ->add("year", 1) ->add("date", -7) ->setAll(array("hour" => 12, "minute" => 34)); echo $d; // "2013-05-14 12:34" ///////////////////// $d1 = DT_Date::now(); $d2 = DT_Datetime::now(); $d3 = DT_Timestamp::now(); echo $d1; // "2012-12-18" echo $d2; // "2012-12-18 22:54" echo $d3; // "2012-12-18 22:54:31" ///////////////////// $f1 = DT_W3cDatetimeFormat::getInstance(); $f2 = DT_HttpDateFormat::getInstance(); $f3 = DT_UnixTimeFormat::getInstance(); $d = new DT_Timestamp(2012, 5, 21, 7, 30, 45); var_dump($d->format($f1)); // string(19) "2012-05-21T07:30:45" var_dump($d->format($f2)); // string(29) "Sun, 20 May 2012 22:30:45 GMT" var_dump($d->format($f3)); // string(10) "1337553045" ///////////////////// $d1 = DT_Timestamp::parse("2012-05-21T07:30:45", $f1); $d2 = DT_Timestamp::parse("Sun, 20 May 2012 22:30:45 GMT", $f2); $d3 = DT_Timestamp::parse(1337553045, $f3); var_dump($d1->equals($d2)); // "bool(true)" var_dump($d2->equals($d3)); // "bool(true)" var_dump($d3->equals($d1)); // "bool(true)" ?>
このテーマだと PHP の色分けがちょっと見にくいなぁ。
(※追記) Monokai っぽい感じにしました。参考: http://nikuyoshi.hatenablog.com/entry/20111101/1320166386