(PHP 5 >= 5.5.0, PHP 7, PHP 8)
Representation of date and time.
This class behaves the same as DateTime except new objects are returned when modification methods such as DateTime::modify() are called.
#[\NoDiscard] public add(DateInterval $interval): DateTimeImmutable
public static createFromFormat(string $format, string $datetime, ?DateTimeZone $timezone = null): DateTimeImmutable|false
public static createFromInterface(DateTimeInterface $object): DateTimeImmutable
public static createFromMutable(DateTime $object): static
public static getLastErrors(): array|false
#[\NoDiscard] public modify(string $modifier): DateTimeImmutable
public static __set_state(array $array): DateTimeImmutable
#[\NoDiscard] public setDate(int $year, int $month, int $day): DateTimeImmutable
#[\NoDiscard] public setISODate(int $year, int $week, int $dayOfWeek = 1): DateTimeImmutable
#[\NoDiscard] public setTime( int $hour, int $minute, int $second = 0, int $microsecond = 0 ): DateTimeImmutable
#[\NoDiscard] public setTimestamp(int $timestamp): DateTimeImmutable
#[\NoDiscard] public setTimezone(DateTimeZone $timezone): DateTimeImmutable
#[\NoDiscard] 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 __serialize(): array
public __unserialize(array $data): void
#[\Deprecated] public __wakeup(): void}
| Version | Description |
|---|---|
| 8.4.0 | The class constants are now typed. |
| 7.1.0 | The DateTimeImmutable constructor now includes the current microseconds in the constructed value. Before this, it would always initialise the microseconds to 0. |
© 1997–2025 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/class.datetimeimmutable.php