Predefined Constants
DateTime::add
Date/Time
PHP Manual

# The DateTime class

(PHP 5 >= 5.2.0)

## Introduction

Representation of date and time.

## Class synopsis

DateTime implements DateTimeInterface {
/* Constants */
const string ATOM = "Y-m-d\TH:i:sP" ;
const string COOKIE = "l, d-M-y H:i:s T" ;
const string ISO8601 = "Y-m-d\TH:i:sO" ;
const string RFC822 = "D, d M y H:i:s O" ;
const string RFC850 = "l, d-M-y H:i:s T" ;
const string RFC1036 = "D, d M y H:i:s O" ;
const string RFC1123 = "D, d M Y H:i:s O" ;
const string RFC2822 = "D, d M Y H:i:s O" ;
const string RFC3339 = "Y-m-d\TH:i:sP" ;
const string RSS = "D, d M Y H:i:s O" ;
const string W3C = "Y-m-d\TH:i:sP" ;
/* Methods */
public __construct ([ string `$time` = "now" [, DateTimeZone `$timezone` = `NULL` ]] )
public DateTime add ( DateInterval `$interval` )
public static DateTime createFromFormat ( string `$format` , string `$time` [, DateTimeZone `$timezone` ] )
public static array getLastErrors ( void )
public DateTime modify ( string `$modify` )
public static DateTime __set_state ( array `$array` )
public DateTime setDate ( int `$year` , int `$month` , int `$day` )
public DateTime setISODate ( int `$year` , int `$week` [, int `$day` = 1 ] )
public DateTime setTime ( int `$hour` , int `$minute` [, int `$second` = 0 ] )
public DateTime setTimestamp ( int `$unixtimestamp` )
public DateTime setTimezone ( DateTimeZone `$timezone` )
public DateTime sub ( DateInterval `$interval` )
public DateInterval diff ( DateTimeInterface `$datetime2` [, bool `$absolute` = false ] )
public string format ( string `$format` )
public int getOffset ( void )
public int getTimestamp ( void )
public DateTimeZone getTimezone ( void )
public __wakeup ( void )
}

## Predefined Constants

`DateTime::ATOM`
`DATE_ATOM`
  Atom (example: 2005-08-15T15:52:01+00:00)
`DateTime::COOKIE`
`DATE_COOKIE`
  HTTP Cookies (example: Monday, 15-Aug-05 15:52:01 UTC)
`DateTime::ISO8601`
`DATE_ISO8601`
  ISO-8601 (example: 2005-08-15T15:52:01+0000)
`DateTime::RFC822`
`DATE_RFC822`
  RFC 822 (example: Mon, 15 Aug 05 15:52:01 +0000)
`DateTime::RFC850`
`DATE_RFC850`
  RFC 850 (example: Monday, 15-Aug-05 15:52:01 UTC)
`DateTime::RFC1036`
`DATE_RFC1036`
  RFC 1036 (example: Mon, 15 Aug 05 15:52:01 +0000)
`DateTime::RFC1123`
`DATE_RFC1123`
  RFC 1123 (example: 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`
  Same as `DATE_ATOM` (since 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 (example: 2005-08-15T15:52:01+00:00)

## Changelog

Version | Description
--- | ---
5.5.0 | The class now implements DateTimeInterface.
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

- DateTime::add — Adds an amount of days, months, years, hours, minutes and seconds to a DateTime object
- DateTime::__construct — Returns new DateTime object
- DateTime::createFromFormat — Returns new DateTime object formatted according to the specified format
- DateTime::getLastErrors — Returns the warnings and errors
- DateTime::modify — Alters the timestamp
- DateTime::__set_state — The __set_state handler
- DateTime::setDate — Sets the date
- DateTime::setISODate — Sets the ISO date
- DateTime::setTime — Sets the time
- DateTime::setTimestamp — Sets the date and time based on an Unix timestamp
- DateTime::setTimezone — Sets the time zone for the DateTime object
- DateTime::sub — Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object

Predefined Constants
DateTime::add
Date/Time
PHP Manual