When looping over a DatePeriod object, the returned objects always implement DateTimeInterface. The exact type returned depends on how the DatePeriod was created. If $start was a DateTimeImmutable, the objects returned will be of type DateTimeImmutable. If a DateTime object was used, the objects returned will be of type DateTime.DatePeriod
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
DatePeriod
Референца за `class.dateperiod.php` со подобрена типографија и навигација.
Класата DatePeriod
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
Вовед
Претставува временски период.
Временскиот период овозможува итерација над множество датуми и времиња, кои се повторуваат во правилни интервали, во текот на даден период.
Синопсис на класата
DateTimeInterface
$start,DateInterval
$interval,int
$recurrences,int
$options = 0)
DateTimeInterface
$start,DateInterval
$interval,DateTimeInterface
$end,int
$options = 0)
Претходно дефинирани константи
-
DatePeriod::EXCLUDE_START_DATEint -
Исклучи датум на почеток, се користи во (PHP 5 >= 5.3.0, PHP 7, PHP 8).
-
DatePeriod::INCLUDE_END_DATEint -
Вклучи датум на крај, се користи во (PHP 5 >= 5.3.0, PHP 7, PHP 8).
Својства
- recurrences
-
Минималната количина на инстанци што ги враќа итераторот.
Ако бројот на повторувања е експлицитно поминат преку recurrences параметарот во конструкторот на DatePeriod инстанца, тогаш овој параметар ја содржи оваа вредност, plus еден ако датумот на почеток не е оневозможен преку
DatePeriod::EXCLUDE_START_DATE, plus еден ако датумот на крај е овозможен прекуDatePeriod::INCLUDE_END_DATE.Ако бројот на повторувања не е експлицитно поминат, тогаш овој параметар ја содржи минималната количина на вратени инстанци. Ова би било
0, plus еден ако датумот на почеток не е оневозможен прекуDatePeriod::EXCLUDE_START_DATE, plus еден ако датумот на крај е овозможен прекуDatePeriod::INCLUDE_END_DATE.<?php
$start = new DateTime('2018-12-31 00:00:00');
$end = new DateTime('2021-12-31 00:00:00');
$interval = new DateInterval('P1M');
$recurrences = 5;
// recurrences explicitly set through the constructor
$period = new DatePeriod($start, $interval, $recurrences, DatePeriod::EXCLUDE_START_DATE);
echo $period->recurrences, "\n";
$period = new DatePeriod($start, $interval, $recurrences);
echo $period->recurrences, "\n";
$period = new DatePeriod($start, $interval, $recurrences, DatePeriod::INCLUDE_END_DATE);
echo $period->recurrences, "\n";
// recurrences not set in the constructor
$period = new DatePeriod($start, $interval, $end);
echo $period->recurrences, "\n";
$period = new DatePeriod($start, $interval, $end, DatePeriod::EXCLUDE_START_DATE);
echo $period->recurrences, "\n";Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
5 6 7 1 0
Види исто така Пример #1 Различни вредности за.
- include_end_date
-
Дали да се вклучи датумот на крај во множеството датуми што се повторуваат или не.
- include_start_date
-
Дали да се вклучи датумот на почеток во множеството датуми што се повторуваат или не.
- start
-
Датумот на почеток на периодот.
- current
-
За време на итерацијата, ова ќе го содржи тековниот датум во рамките на периодот.
- end
-
Датумот на крај на периодот.
- interval
-
ISO 8601 спецификација за повторлив интервал.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.4.0 | Константите на класата сега се типизирани. |
| 8.2.0 |
На DatePeriod::INCLUDE_END_DATE "константа и"
include_end_date својство е додадено.
|
| 8.0.0 | DatePeriod implements IteratorAggregate сега. Претходно, Траверзабилно беше имплементирано наместо тоа. |
Содржина
- DatePeriod::__construct — Создава нов DatePeriod објект
- DatePeriod::createFromISO8601String — Создава нов DatePeriod објект од ISO8601 низа
- DatePeriod::getDateInterval — Го добива интервалот
- DatePeriod::getEndDate — Го добива крајниот датум
- DatePeriod::getRecurrences — Го добива бројот на повторувања
- DatePeriod::getStartDate — Го добива почетниот датум