The DateTime class

Introduction

(PHP 5 >= 5.2.0, PHP 7)

This class behaves the same as DateTimeImmutable except objects are modified itself when modification methods such as DateTime::modify() are called.

Class synopsis

DateTime implements DateTimeInterface {
/* Inherited constants */
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" ;
/* Methods */
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|false
public format ( string $format ) : string
publicgetOffset ( ) : int
public getTimestamp ( ) : int
public getTimezone ( ) : DateTimeZone|false
public __wakeup ( ) : void
}

Changelog

Version Description
7.2.0 The class constants of DateTime are now defined on DateTimeInterface.
7.0.0 Added constants: DATE_RFC3339_EXTENDED and DateTime::RFC3339_EXTENDED.
5.5.0 The class now implements DateTimeInterface.
5.4.24 The COOKIE constant was changed to reflect RFC 1036 using a four digit year rather than a two digit year (RFC 850) as prior versions.
5.2.2 DateTime object comparison with the comparison operators changed to work as expected. Previously, all DateTime objects were considered equal (using ==).

Table of Contents

© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/class.datetime.php