Класс DateTime

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

Введение

Представление даты и времени.

Класс ведёт себя так же, как и DateTimeImmutable, за исключением того, что объекты модифицируются сами при вызове таких методов модификации, как DateTime::modify().

Внимание

Вызов методов для объектов класса DateTime изменит информацию, заключённую в этих объектах, если вы хотите предотвратить это, вам придётся использовать оператор clone для создания нового объекта. Используйте класс DateTimeImmutable вместо DateTime, чтобы получить рекомендуемое поведение по умолчанию.

Обзор классов

classDateTimeimplementsDateTimeInterface {
publicconststringDateTimeInterface::ATOM = "Y-m-d\\TH:i:sP";
publicconststringDateTimeInterface::COOKIE = "l, d-M-Y H:i:s T";
publicconststringDateTimeInterface::ISO8601 = "Y-m-d\\TH:i:sO";
publicconststringDateTimeInterface::ISO8601_EXPANDED = "X-m-d\\TH:i:sP";
publicconststringDateTimeInterface::RFC822 = "D, d M y H:i:s O";
publicconststringDateTimeInterface::RFC850 = "l, d-M-y H:i:s T";
publicconststringDateTimeInterface::RFC1036 = "D, d M y H:i:s O";
publicconststringDateTimeInterface::RFC1123 = "D, d M Y H:i:s O";
publicconststringDateTimeInterface::RFC7231 = "D, d M Y H:i:s \\G\\M\\T";
publicconststringDateTimeInterface::RFC2822 = "D, d M Y H:i:s O";
publicconststringDateTimeInterface::RFC3339 = "Y-m-d\\TH:i:sP";
publicconststringDateTimeInterface::RFC3339_EXTENDED = "Y-m-d\\TH:i:s.vP";
publicconststringDateTimeInterface::RSS = "D, d M Y H:i:s O";
publicconststringDateTimeInterface::W3C = "Y-m-d\\TH:i:sP";
public__construct(string$datetime = "now", ?DateTimeZone$timezone = null)
publicadd(DateInterval$interval): DateTime
publicstaticcreateFromFormat(string$format, string$datetime, ?DateTimeZone$timezone = null): DateTime|false
publicstaticcreateFromImmutable(DateTimeImmutable$object): static
publicmodify(string$modifier): DateTime|false
publicstatic__set_state(array$array): DateTime
publicsetDate(int$year, int$month, int$day): DateTime
publicsetISODate(int$year, int$week, int$dayOfWeek = 1): DateTime
publicsetTime(
    int$hour,
    int$minute,
    int$second = 0,
    int$microsecond = 0
): DateTime
publicsetTimestamp(int$timestamp): DateTime
publicsub(DateInterval$interval): DateTime
publicdiff(DateTimeInterface$targetObject, bool$absolute = false): DateInterval
publicformat(string$format): string
publicgetOffset(): int
publicgetTimestamp(): int
public__wakeup(): void
}

Список изменений

ВерсияОписание
7.2.0 Константы класса теперь DateTime определены в DateTimeInterface.
7.1.0 Конструктор класса DateTime теперь включает текущие микросекунды. До этого он всегда инициализировал микросекунды со значением 0.

Содержание

  • DateTime::add — Изменяет объект DateTime, добавляя количество дней, месяцев, лет, часов, минут и секунд
  • DateTime::__construct — Конструктор класса DateTime
  • DateTime::createFromFormat — Разбирает строку с датой согласно указанному формату
  • DateTime::createFromImmutable — Возвращает экземпляр DateTime инкапсулирующий заданный объект DateTimeImmutable
  • DateTime::createFromInterface — Возвращает новый объект DateTime, созданный из переданного объекта, реализующего интерфейс DateTimeInterface
  • DateTime::getLastErrors — Псевдоним DateTimeImmutable::getLastErrors
  • DateTime::modify — Изменение временной метки
  • DateTime::__set_state — Обработчик __set_state
  • DateTime::setDate — Устанавливает дату
  • DateTime::setISODate — Устанавливает дату в формате ISO
  • DateTime::setTime — Устанавливает время
  • DateTime::setTimestamp — Устанавливает дату и время на основе метки времени Unix
  • DateTime::setTimezone — Устанавливает часовой пояс для объекта класса DateTime
  • DateTime::sub — Вычитает дни, месяцы, годы, часы, минуты и секунды из объекта DateTime
To Top