If you're stuck on a PHP 5.1 system (unfortunately one of my clients is on a rather horrible webhost who claims they cannot upgrade php) you can use this as a quick workaround:
<?php
if (!class_exists('DateTime')) {
class DateTime {
public $date;
public function __construct($date) {
$this->date = strtotime($date);
}
public function setTimeZone($timezone) {
return;
}
private function __getDate() {
return date(DATE_ATOM, $this->date);
}
public function modify($multiplier) {
$this->date = strtotime($this->__getDate() . ' ' . $multiplier);
}
public function format($format) {
return date($format, $this->date);
}
}
}
?>
it is NOT perfect. Timezones and DST are not supported, but if you just need compatible basic functions this works. Feel free to complete this so it's compatible with the 5.2 datetime object.
DateTime クラス
導入
日付と時刻をあらわします。
クラス概要
DateTime
DateTime
{
/* 定数 */
/* メソッド */
public static DateTime createFromFormat
( string $format
, string $time
[, DateTimeZone $timezone
] )
}定義済み定数
DateTime ノード型
-
DateTime::ATOM
DATE_ATOM - Atom (例: 2005-08-15T15:52:01+00:00)
- HTTP Cookies (例: Monday, 15-Aug-05 15:52:01 UTC)
-
DateTime::ISO8601
DATE_ISO8601 - ISO-8601 (例: 2005-08-15T15:52:01+0000)
-
DateTime::RFC822
DATE_RFC822 - RFC 822 (例: Mon, 15 Aug 05 15:52:01 +0000)
-
DateTime::RFC850
DATE_RFC850 - RFC 850 (例: Monday, 15-Aug-05 15:52:01 UTC)
-
DateTime::RFC1036
DATE_RFC1036 - RFC 1036 (例: Mon, 15 Aug 05 15:52:01 +0000)
-
DateTime::RFC1123
DATE_RFC1123 - RFC 1123 (例: Mon, 15 Aug 2005 15:52:01 +0000)
-
DateTime::RFC2822
DATE_RFC2822 - RFC 2822 (Mon, 15 Aug 2005 15:52:01 +0000)
-
DateTime::RFC3339
DATE_RFC3339 - DATE_ATOM と同じ (PHP 5.1.3 以降)
-
DateTime::RSS
DATE_RSS - RSS (Mon, 15 Aug 2005 15:52:01 +0000)
-
DateTime::W3C
DATE_W3C - World Wide Web Consortium (例: 2005-08-15T15:52:01+00:00)
目次
- DateTime::add — 年月日時分秒の値を DateTime オブジェクトに加える
- DateTime::__construct — 新しい DateTime オブジェクトを返す
- DateTime::createFromFormat — 指定した書式でフォーマットした新しい DateTime オブジェクトを返す
- DateTime::diff — ふたつの DateTime オブジェクトの差を返す
- DateTime::format — 指定した書式でフォーマットした日付を返す
- DateTime::getLastErrors — 警告およびエラーを返す
- DateTime::getOffset — 夏時間のオフセットを返す
- DateTime::getTimestamp — Unix タイムスタンプを取得する
- DateTime::getTimezone — 指定した DateTime に関連するタイムゾーンを返す
- DateTime::modify — タイムスタンプを変更する
- DateTime::__set_state — __set_state ハンドラ
- DateTime::setDate — 日付を設定する
- DateTime::setISODate — ISO 日付を設定する
- DateTime::setTime — 時刻を設定する
- DateTime::setTimestamp — Unix タイムスタンプを用いて日付と時刻を設定する
- DateTime::setTimezone — DateTime オブジェクトのタイムゾーンを設定する
- DateTime::sub — 年月日時分秒の値を DateTime オブジェクトから引く
- DateTime::__wakeup — __wakeup ハンドラ
DateTime
tom at r dot je
10-Jun-2009 03:00
10-Jun-2009 03:00
