DateTimeクラスとDateTimeZoneクラス
なんとなく使ってて理解してなかったのでまとめてみた。
Zend FrameworkのZend_Dateも今度使ってみよう。
<?php // 何も指定しないと"now", strtotime()が理解できる文字列が使える $date = new DateTime(); echo $date->format('Y-m-d H:i:s'); // 指定した書式で日付を返す $date->setDate(2000,12,24); // 日付を設定。時間は設定できないみたい。 echo $date->format('Y-m-d'); $date->setISODate(2002, 34, 3); // ISO日付を設定。例だと2002年34週の水曜日を示す。 echo $date->format('Y-m-d'); $date->modify('+2 days'); // 日付を設定。strtotime() が理解できる書式の文字列を指定 echo $date->format('Y-m-d'); echo $date->getOffset(); // 夏時間のoffsetを返す echo $date->getTimezone()->getName(); // 現在のタイムゾーンを返す $date->setTimezone(new DateTimeZone("America/New_York"); // タイムゾーンを指定した地域に変更 $timezone = new DateTimeZone("Asia/Tokyo"); // 指定したタイムゾーンでクラス生成 print_r($timezone->listIdentifiers()); // 全てのタイムゾーンを配列で返す print_r($timezone->listAbbreviations()); // 夏時間、オフセット、タイムゾーンを含む配列を返す $timezone->getOffset(new DateTime("now", "US/Hawaii")); // GMT からのタイムゾーンのオフセットを返す print_r($timezone->getTransitions()); // タイムゾーンの変遷を返す。どういうケースで使うんだ?