DateTime::setISODate
date_isodate_set
(PHP 5 >= 5.2.0, PHP 7)
DateTime::setISODate -- date_isodate_set — Устанавливает дату в формате ISO
Описание
Объектно-ориентированный стиль
Процедурный стиль
Установка даты в соответствии со стандартом ISO 8601, в котором использование недель и смещения в днях предпочтительней указания даты.
Список параметров
-
object
-
Только для процедурного стиля: Объект DateTime, возвращаемый date_create(). Функция изменяет этот объект.
-
year
-
Год новой даты.
-
week
-
Неделя новой даты.
-
dayOfWeek
-
Смещение относительно начала недели.
Возвращаемые значения
Возвращает объект DateTime для применения в цепи методов или false
в случае возникновения ошибки.
Примеры
Пример #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
Смотрите также
- DateTime::setDate() - Устанавливает дату
- DateTime::setTime() - Устанавливает время