Home / PHP Date Constants

PHP Date Constants

When writing my "Get a list of all available constants with PHP" post I discovered there are a number of usful date format constants in PHP which can be used with the date() function. (Refer to my "Formatting Dates with PHP" post for more details about the PHP date function). This post looks at these constants and how to use them with the date function. Please note that these constants have only been present in PHP since 5.1.1.

Example usage

The following example will get the current date and time in the valid format for an RSS feed and assign it to the $date variable:

$date = date(DATE_RSS);

Date constants

The available date constants are listed below with offsite links to the appropriate RFC or ISO standard which define it, where applicable. Please note that these constants are available only from PHP version 5.1.1. The datetimes in the examples below are from the original post date of this article in New Zealand standard time.

DATE_ATOM

This is the format for Atom feeds. The PHP format is "Y-m-dTH:i:sP" and example output from date(DATE_ATOM) is "2008-08-16T12:00:00+12:00"

DATE_COOKIE

This is the format for cookies set from a web server or Javascript. The PHP format is "l, d-M-y H:i:s T" and example output from date(DATE_COOKIE) is "Sat, 16 Aug 2008 12:00:00 NZST"

DATE_ISO8601

This is the format for ISO8601, an international date and time format standard. The PHP format is "Y-m-dTH:i:sO" and example output from date(DATE_ISO8601) is "2008-08-16T12:00:00+1200". Read about ISO8601 at Wikipedia.

DATE_RFC822

This is the format for RFC822 which defines the standards for email messages. The PHP format is "D, d M y H:i:s O" and example output from date(DATE_RFC822) is "Sat, 16 Aug 2008 12:00:00 NZST". Read about RFC822 at faqs.org

DATE_RFC850

This is the format for RFC850 which defines the standards for USENET messages. The PHP format is "l, d-M-y H:i:s T" and example output from date(DATE_RFC850) is "Saturday, 16-Aug-08 12:00:00 NZST". Read about RFC850 at faqs.org

DATE_RFC1036

This is the format for RFC1036, a later definition for USENET. The PHP format is "l, d-M-y H:i:s T" (the same as for DATE_RFC850) and example output from date(DATE_RFC1036) is "Saturday, 16-Aug-08 12:00:00 NZST". Read about RFC1036 at faqs.org

DATE_RFC1123

This is the format for RFC1123 and covers requirements for Internet hosts. The PHP format is "D, d M Y H:i:s T" and example output from date(DATE_RFC1123) is "Sat, 16 Aug 2008 12:00:00 NZST" Read about RFC1123 at faqs.org

DATE_RFC2822

This is the format for RFC2822 which updates RFC822 for email messages. The PHP format is "D, d M Y H:i:s O" and example output from date(DATE_RFC2822) is "Sat, 16 Aug 2008 12:00:00 +1200" Read about RFC2822 at faqs.org

DATE_RFC3339

This is the format for RFC3339 and defines "date and time on the Internet". The PHP format is "Y-m-dTH:i:sP" and example output from date(DATE_RFC3339) is "2008-08-16T12:00:00+12:00" Read about RFC3339 at faqs.org

DATE_RSS

This is the format for RSS feeds. The PHP format is "D, d M Y H:i:s T" and example output from date(DATE_RSS) is "Sat, 16 Aug 2008 12:00:00 NZST"

DATE_W3C

This is the format for "World Wide Web Consortium" according to the PHP documentation, although I’m not sure what this actually means. The PHP format is "Y-m-dTH:i:sP" and example output from date(DATE_W3C) is "2008-08-16T12:00:00+12:00"