DateTime クラス

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

はじめに

このクラスは、 DateTimeImmutable と同じ振る舞いをします。 但し、DateTime::modify() のような、 オブジェクトそのものを変更するメソッドが呼び出された時を除きます。

クラス概要

DateTime implements DateTimeInterface {
/* 継承した定数 */
const string DateTimeInterface::ATOM = "Y-m-d\TH:i:sP" ;
const string DateTimeInterface::COOKIE = "l, d-M-Y H:i:s T" ;
const string DateTimeInterface::ISO8601 = "Y-m-d\TH:i:sO" ;
const string DateTimeInterface::RFC822 = "D, d M y H:i:s O" ;
const string DateTimeInterface::RFC850 = "l, d-M-y H:i:s T" ;
const string DateTimeInterface::RFC1036 = "D, d M y H:i:s O" ;
const string DateTimeInterface::RFC1123 = "D, d M Y H:i:s O" ;
const string DateTimeInterface::RFC7231 = "D, d M Y H:i:s \G\M\T" ;
const string DateTimeInterface::RFC2822 = "D, d M Y H:i:s O" ;
const string DateTimeInterface::RFC3339 = "Y-m-d\TH:i:sP" ;
const string DateTimeInterface::RFC3339_EXTENDED = "Y-m-d\TH:i:s.vP" ;
const string DateTimeInterface::RSS = "D, d M Y H:i:s O" ;
const string DateTimeInterface::W3C = "Y-m-d\TH:i:sP" ;
/* メソッド */
public __construct ( string $datetime = "now" , DateTimeZone|null $timezone = null )
public add ( DateInterval $interval ) : DateTime
public static createFromFormat ( string $format , string $datetime , DateTimeZone|null $timezone = null ) : DateTime|false
public static createFromImmutable ( DateTimeImmutable $object ) : DateTime
public static createFromInterface ( DateTimeInterface $object ) : DateTime
public static getLastErrors ( ) : array|false
public modify ( string $modifier ) : DateTime|false
public static __set_state ( array $array ) : DateTime
public setDate ( int $year , int $month , int $day ) : DateTime
public setISODate ( int $year , int $week , int $dayOfWeek = 1 ) : DateTime
public setTime ( int $hour , int $minute , int $second = 0 , int $microsecond = 0 ) : DateTime
public setTimestamp ( int $timestamp ) : DateTime
public setTimezone ( DateTimeZone $timezone ) : DateTime
public sub ( DateInterval $interval ) : DateTime
public diff ( DateTimeInterface $targetObject , bool $absolute = false ) : DateInterval
public format ( string $format ) : string
public getOffset ( ) : int
public getTimestamp ( ) : int
public getTimezone ( ) : DateTimeZone|false
public __wakeup ( ) : void
}

変更履歴

バージョン 説明
7.2.0 DateTime クラスの定数は、 DateTimeInterface で定義されるようになりました。
7.0.0 定数 DATE_RFC3339_EXTENDEDDateTime::RFC3339_EXTENDED が追加されました。
5.5.0 DateTimeInterface を実装するようになりました。
5.4.24 COOKIE 定数が、RFC 1036 に準拠するように (年を4桁で表すように) なりました。 以前のバージョンでは、RFC 850 に従って年を2桁で表していました。
5.2.2 DateTime オブジェクトどうしの 比較演算子 による比較が、期待通りに動作するようになりました。 これより前のバージョンでは、すべての DateTime オブジェクトは (== による比較で) 等しいと見なされていました。

目次