ConFoo 2025

La classe DateTime

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

Introduzione

Rappresentazione di una data e ora.

Questa classe si comporta come DateTimeImmutable, eccetto che gli oggetti si modificano quando vengono chiamati dei metodi di modifica come DateTime::modify().

Avviso

Chiamare metodi sugli oggetti della classe DateTime cambierà le informazioni incapsulate in questi oggetti, se si vuole prevenirlo si dovrà utilizzare l'operatore clone per creare un nuovo oggetto. Utilizzare DateTimeImmutable invece di DateTime per ottenere questo comportamento raccomandato per impostazione predefinita.

Sommario della classe

class DateTime implements DateTimeInterface {
/* Costanti ereditate */
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";
/* Metodi */
public __construct(string $datetime = "now", ?DateTimeZone $timezone = null)
public add(DateInterval $interval): DateTime
public static createFromFormat(string $format, string $datetime, ?DateTimeZone $timezone = null): DateTime|false
public static createFromImmutable(DateTimeImmutable $object): static
public modify(string $modifier): DateTime|false
public static __set_state(array $array): DateTime
public setDate(int $year, int $month, int $day): DateTime
public setISODate(int $year, int $week, int $dayOfWeek = 1): DateTime
public setTime(
    int $hour,
    int $minute,
    int $second = 0,
    int $microsecond = 0
): DateTime
public setTimestamp(int $timestamp): DateTime
public setTimezone(DateTimeZone $timezone): DateTime
public sub(DateInterval $interval): DateTime
public diff(DateTimeInterface $targetObject, bool $absolute = false): DateInterval
public format(string $format): string
public getOffset(): int
public getTimestamp(): int
public __wakeup(): void
}

Log delle modifiche

Versione Descrizione
7.2.0 Le costanti della classe DateTime sono ora definite in DateTimeInterface.
7.1.0 Il costruttore DateTime ora include i microsecondi attuali nel valore costruito. Prima di questo, inizializzava sempre i microsecondi a 0.

Indice dei contenuti

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top