PHP Conference Fukuoka 2025

A classe DateTimeImmutable

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

Introdução

Representação de data e hora.

Esta classe se comporta como a classe DateTime exceto pelo fato de que novos objetos são retornados quando métodos de modificação como DateTime::modify() são chamados.

Resumo da classe

class DateTimeImmutable implements DateTimeInterface {
/* Constantes herdadas */
public const string DateTimeInterface::ATOM = "Y-m-d\\TH:i:sP";
public const string DateTimeInterface::COOKIE = "l, d-M-Y H:i:s T";
public const string DateTimeInterface::ISO8601 = "Y-m-d\\TH:i:sO";
public const string DateTimeInterface::ISO8601_EXPANDED = "X-m-d\\TH:i:sP";
public const string DateTimeInterface::RFC822 = "D, d M y H:i:s O";
public const string DateTimeInterface::RFC850 = "l, d-M-y H:i:s T";
public const string DateTimeInterface::RFC1036 = "D, d M y H:i:s O";
public const string DateTimeInterface::RFC1123 = "D, d M Y H:i:s O";
public const string DateTimeInterface::RFC7231 = "D, d M Y H:i:s \\G\\M\\T";
public const string DateTimeInterface::RFC2822 = "D, d M Y H:i:s O";
public const string DateTimeInterface::RFC3339 = "Y-m-d\\TH:i:sP";
public const string DateTimeInterface::RFC3339_EXTENDED = "Y-m-d\\TH:i:s.vP";
public const string DateTimeInterface::RSS = "D, d M Y H:i:s O";
public const string DateTimeInterface::W3C = "Y-m-d\\TH:i:sP";
/* Métodos */
public __construct(string $datetime = "now", ?DateTimeZone $timezone = null)
#[\NoDiscard]
public add(DateInterval $interval): DateTimeImmutable
public static createFromFormat(string $format, string $datetime, ?DateTimeZone $timezone = null): DateTimeImmutable|false
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 __serialize(): array
public __unserialize(array $data): void
}

Registro de Alterações

Versão Descrição
8.4.0 As constantes de classe agora são tipadas.
7.1.0 O construtor da classe DateTimeImmutable agora inclui os microssegundos atuais no valor construído. Antes disso, ele iria sempre inicializar os microssegundos em 0.

Índice

adicionar nota

Notas de Usuários

Não há notas de usuários para esta página.
To Top