Рекурсивный акроним словосочетания «PHP: Hypertext Preprocessor»
Добро пожаловать на форум PHP программистов!
За последние 24 часа нас посетили 16600 программистов и 1639 роботов. Сейчас ищут 1167 программистов ...
DatePeriod::__construct - Создает новый объект DatePeriod
Вернуться к: DatePeriod
DatePeriod::__construct
(PHP 5 >= 5.3.0, PHP 7)
DatePeriod::__construct — Создает новый объект DatePeriod
Описание
public DatePeriod::__construct
( DateTimeInterface
$start
, DateInterval $interval
, int $recurrences
[, int $options
] )
public DatePeriod::__construct
( DateTimeInterface
$start
, DateInterval $interval
, DateTimeInterface $end
[, int $options
] )
public DatePeriod::__construct
( string
$isostr
[, int $options
] )Создает новый объект DatePeriod.
Список параметров
-
start
-
Начальная дата.
-
interval
-
Интервал.
-
recurrences
-
Количество повторений.
-
end
-
Конечная дата.
-
isostr
-
Строка, содержащая интервал согласно спецификации ISO 8601.
-
options
-
Может быть установлено значение
DatePeriod::EXCLUDE_START_DATE
, для исключения начальной даты из периода.
Список изменений
Версия | Описание |
---|---|
5.5.8 |
Тип параметра end изменен на
DateTimeImmutable.
Ранее использовался DateTime.
|
5.5.0 |
Тип параметра start изменен на
DateTimeImmutable.
Ранее использовался DateTime.
|
Примеры
Пример #1 Пример использования DatePeriod
<?php
$start = new DateTime('2012-07-01');
$interval = new DateInterval('P7D');
$end = new DateTime('2012-07-31');
$recurrences = 4;
$iso = 'R4/2012-07-01T00:00:00Z/P7D';
// Эти периоды эквивалентны.
$period = new DatePeriod($start, $interval, $recurrences);
$period = new DatePeriod($start, $interval, $end);
$period = new DatePeriod($iso);
// При переборе экземпляра DatePeriod в цикле будут отображены все отобранные даты
// периода.
foreach ($period as $date) {
echo $date->format('Y-m-d')."\n";
}
?>
Результат выполнения данного примера:
2012-07-01 2012-07-08 2012-07-15 2012-07-22 2012-07-29
Пример #2 Пример использования DatePeriod с DatePeriod::EXCLUDE_START_DATE
<?php
$start = new DateTime('2012-07-01');
$interval = new DateInterval('P7D');
$end = new DateTime('2012-07-31');
$period = new DatePeriod($start, $interval, $end,
DatePeriod::EXCLUDE_START_DATE);
// При переборе экземпляра DatePeriod в цикле будут отображены все отобранные даты
// периода.
// Однако в этом случае 2012-07-01 не будет отображена.
foreach ($period as $date) {
echo $date->format('Y-m-d')."\n";
}
?>
Результат выполнения данного примера:
2012-07-08 2012-07-15 2012-07-22 2012-07-29
Вернуться к: DatePeriod