The DateTimeImmutable class

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

简介

Representation of date and time.

类摘要

DateTimeImmutable 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 ) : DateTimeImmutable
public static createFromFormat ( string $format , string $datetime , DateTimeZone|null $timezone = null ) : DateTimeImmutable|false
public static createFromMutable ( DateTime $object ) : DateTimeImmutable
public static getLastErrors ( ) : array|false
public modify ( string $modifier ) : DateTimeImmutable|false
public static __set_state ( array $array ) : DateTimeImmutable
public setDate ( int $year , int $month , int $day ) : DateTimeImmutable
public setISODate ( int $year , int $week , int $dayOfWeek = 1 ) : DateTimeImmutable
public setTime ( int $hour , int $minute , int $second = 0 , int $microsecond = 0 ) : DateTimeImmutable
public setTimestamp ( int $timestamp ) : DateTimeImmutable
public sub ( DateInterval $interval ) : DateTimeImmutable
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
}

Table of Contents

User Contributed Notes

katsarov at gmail dot com 05-Apr-2019 02:35
Note: If you are trying to get 02.29 for non leap year it will return 03.01
Example:
<?php
new DateTimeImmutable('2017-02-29') // 2017-03-01
?>
soullinker0 googlemail 24-Jan-2019 12:27
class MyDateTime extends DateTimeImmutable
{
    public function addDay(int $amount): MyDateTime
    {
        return $this->add(new DateInterval("P" . $amount . "D"));
    }
}

addDay will return DateTimeImmutable not MyDateTime. It looks like there is no "return static;"
i wish i would be
taoufik dot oussama at gmail dot com 04-Dec-2017 10:02
Here's a simple example on how this class works :

    // Create a DateTimeImmutable Object
    $date = new DateTimeImmutable('2000-01-01');
    // "Change" that object and assign it's value to a new variable
    $date2 = $date->add(new DateInterval('P6M5DT24H'));
    // Check out the content of the two variables
    echo $date->format('Y-m-d') . "\n";
    // 2000-01-01
    echo $date2->format('Y-m-d') . "\n";
    // 2000-07-07
PHP8中文手册 站长在线 整理 版权归PHP文档组所有