DatePeriod::createFromISO8601String
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
DatePeriod::createFromISO8601String
Референца за `dateperiod.createfromiso8601string.php` со подобрена типографија и навигација.
DatePeriod::createFromISO8601String
(PHP 8 >= 8.3.0)
DatePeriod::createFromISO8601String — Создава нов DatePeriod објект од ISO8601 стринг
= NULL
Создава нов DatePeriod објект од ISO8601 стринг, како што е специфицирано со
specification.
Параметри
specification-
Подмножество на » ISO 8601 спецификација за повторувачки интервал.
Пример за прифатена ISO 8601 спецификација за интервал е
R5/2008-03-01T13:00:00Z/P1Y2M10DT2H30M, што специфицира:-
5 итерации (
R5/) -
Почнувајќи од
2008-03-01T13:00:00Z. -
Секоја итерација е интервал од 1 година, 2 месеци, 10 дена, 2 часа и 30 минути (
/P1Y2M10DT2H30M).
Примери за некои карактеристики на спецификацијата на интервал ISO 8601 што PHP не ги поддржува се:
-
нула појави (
R0/) -
временски поместувања различни од UTC (
Z), како што се+02:00.
-
5 итерации (
options-
Поле со битови што може да се користи за контрола на одредено однесување со датумите на почеток и крај.
Со
DatePeriod::EXCLUDE_START_DATEго исклучувате датумот на почеток од множеството на повторувачки датуми во периодот.Со
DatePeriod::INCLUDE_END_DATEго вклучувате датумот на крај во множеството на повторувачки датуми во периодот.
Вратени вредности
Креира нов DatePeriod објект.
DatePeriod објекти создадени со овој метод може да се користат како итератор за генерирање на број на DateTimeImmutable objects.
Errors/Exceptions
Фрла DateMalformedPeriodStringException кога specification не може да се парсира како валиден ISO 8601 период.
Примери
Пример #1 DatePeriod::createFromISO8601String пример
<?php
$iso = 'R4/2023-07-01T00:00:00Z/P7D';
$period = DatePeriod::createFromISO8601String($iso);
// By iterating over the DatePeriod object, all of the
// recurring dates within that period are printed.
foreach ($period as $date) {
echo $date->format('Y-m-d'), "\n";
}Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
2023-07-01 2023-07-08 2023-07-15 2023-07-22 2023-07-29