(PHP 5 >= 5.2.0, PHP 7)
DateTime::setISODate -- date_isodate_set — Устанавливает дату в формате ISO
Объектно-ориентированный стиль
Процедурный стиль
Установка даты в соответствии со стандартом ISO 8601, в котором использование недель и смещения в днях предпочтительней указания даты.
object
Только для процедурного стиля: Объект DateTime, возвращаемый date_create(). Функция изменяет этот объект.
year
Год новой даты.
week
Неделя новой даты.
day
Смещение относительно начала недели.
Возвращает объект DateTime для применения в цепи методов или FALSE
в случае возникновения ошибки.
Версия | Описание |
---|---|
5.3.0 | Изменено
значение успешной работы функции с NULL на DateTime. |
Пример #1 Пример использования DateTime::setISODate()
Объектно-ориентированный стиль
<?php
$date = new DateTime();
$date->setISODate(2008, 2);
echo $date->format('Y-m-d') . "\n";
$date->setISODate(2008, 2, 7);
echo $date->format('Y-m-d') . "\n";
?>
Процедурный стиль
<?php
$date = date_create();
date_isodate_set($date, 2008, 2);
echo date_format($date, 'Y-m-d') . "\n";
date_isodate_set($date, 2008, 2, 7);
echo date_format($date, 'Y-m-d') . "\n";
?>
Результат выполнения данных примеров:
2008-01-07 2008-01-13
Пример #2 Значения, превышающие допустимые пределы, добавляются к старшим полям
<?php
$date = new DateTime();
$date->setISODate(2008, 2, 7);
echo $date->format('Y-m-d') . "\n";
$date->setISODate(2008, 2, 8);
echo $date->format('Y-m-d') . "\n";
$date->setISODate(2008, 53, 7);
echo $date->format('Y-m-d') . "\n";
?>
Результат выполнения данного примера:
2008-01-13 2008-01-14 2009-01-04
Пример #3 Поиск месяца по номеру недели
<?php
$date = new DateTime();
$date->setISODate(2008, 14);
echo $date->format('n');
?>
Результат выполнения данных примеров:
3