日期/时间
PHP Manual

DateTime 类

(PHP 5 >= 5.2.0, PHP 7)

简介

日期和时间。

类摘要

DateTime implements DateTimeInterface {
/* 常量 */
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 RFC3339_EXTENDED = "Y-m-d\TH:i:s.vP" ;
const string RSS = "D, d M Y H:i:s O" ;
const string W3C = "Y-m-d\TH:i:sP" ;
/* 方法 */
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 [, int $microseconds = 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 )
}

预定义常量

DateTime::ATOM
DATE_ATOM
Atom 格式 (示例:2005-08-15T15:52:01+00:00)
DateTime::COOKIE
DATE_COOKIE
HTTP Cookies 格式 (示例:Monday, 15-Aug-2005 15:52:01 UTC)
DateTime::ISO8601
DATE_ISO8601
ISO-8601 格式(示例:2005-08-15T15:52:01+0000)

Note: 这种格式和 ISO-8601 的格式并不兼容,只是出于向后兼容的原因才保留的。 如果要使用和 ISO-8601 兼容的格式, 请使用 DateTime::ATOMDATE_ATOM 两个常量。

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 (example: 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::RFC3339_EXTENDED
DATE_RFC3339_EXTENDED
RFC 3339 EXTENDED 格式 (自 PHP 7.0.0 可用)(示例:2005-08-15T15:52:01.000+00:00)
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)

更新日志

版本 说明
7.0.0 新增常量:DATE_RFC3339_EXTENDEDDateTime::RFC3339_EXTENDED
5.5.0 实现 DateTimeInterface 接口。
5.4.24 COOKIE 格式从 2 位数字表示年份(RFC 850) 修改为 4 位数字表示年份(RFC 1036)。
5.2.2 DateTime 对象进行比较操作(comparison operators)的时候 可以正常工作了。 在之前的版本中,当使用 == 进行相等比较的时候, 所有的 DateTime 对象都会被视为是相等的。

Table of Contents


日期/时间
PHP Manual