DatePeriod sınıfı

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Giriş

Dönemselliğin gösterimi.

Bir tarih aralığı, belirli bir süre boyunca düzenli aralıklarla yinelenen bir tarih ve zaman kümesi üzerinde yinelemeye izin verir.

Sınıf Sözdizimi

classDatePeriodimplementsIteratorAggregate {
publicreadonly?DateTimeInterface$start;
publicreadonly?DateTimeInterface$end;
publicreadonly?DateInterval$interval;
publicreadonlyint$recurrences;
publicreadonlybool$include_end_date;
public__construct(
    DateTimeInterface$start,
    DateInterval$interval,
    int$recurrences,
    int$options = 0
)
public__construct(
    DateTimeInterface$start,
    DateInterval$interval,
    DateTimeInterface$end,
    int$options = 0
)
public__construct(string$isostr, int$options = 0)
publicstaticcreateFromISO8601String(string$specification, int$options = 0): static
}

Öntanımlı Sabitler

DatePeriod::EXCLUDE_START_DATE

DatePeriod::__construct() yönteminde kullanılan başlangıç tarihi dışlanır.

DatePeriod::INCLUDE_END_DATE

DatePeriod::__construct() yönteminde kullanılan bitiş tarihi dışlanmaz.

Özellikler

recurrences

Yineleyici tarafından döndürülen örneklerin asgari miktarı.

Yineleme sayısı DatePeriod örneğinin kurucusunda doğrudan recurrences özniteliği ile aktarılarak oluşturulmuşsa, bu özellik bu değere ek olarak, başlangıç tarihi DatePeriod::EXCLUDE_START_DATE aracılığıyla iptal edilmişse artı bir, bitiş tarihi DatePeriod::INCLUDE_END_DATE aracılığıyla etkin kılınmışsa artı bir içerir.

Yineleme sayısı doğrudan aktarılmamışsa bu özellik dönen örneklerin asgari sayısını içerir. Bu 0 olurdu, buna ek olarak, başlangıç tarihi DatePeriod::EXCLUDE_START_DATE aracılığıyla devre dışı bırakılmamışsa artı bir, bitiş tarihi DatePeriod::INCLUDE_END_DATE aracılığıyla etkinleştirilmişse artı bir olur.

<?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; // yineleme sayısı

// yineleme sayısını kurucu üzerinden doğrudan belirt
$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";

// yineleme sayısını kurucu üzerinden belirtME
$period = new DatePeriod($start, $interval, $end);
echo
$period->recurrences, "\n";

$period = new DatePeriod($start, $interval, $end, DatePeriod::EXCLUDE_START_DATE);
echo
$period->recurrences, "\n";
?>

Yukarıdaki örneğin çıktısı:


5
6
7
1
0

Ayrıca bkz: DatePeriod::getRecurrences()

include_end_date

Bitiş tarihinin yinelenen tarihler kümesine dahil edilip edilmeyeceği.

include_start_date

Başlangıç tarihinin yinelenen tarihler kümesine dahil edilip edilmeyeceği.

start

Dönemin başlangıç tarihi.

current

Yineleme sırasında, dönem içindeki şimdiki tarihi içerecektir.

end

Dönemin bitiş tarihi.

interval

Bir ISO 8601 tekrarlanan aralık belirtimi.

Sürüm Bilgisi

Sürüm: Açıklama
8.2.0DatePeriod::INCLUDE_END_DATE sabiti ve include_end_date özeliği eklendi.
8.0.0DatePeriod artık IteratorAggregate arayüzünü gerçekliyor. Evvelce, Traversable arayüzünü gerçekliyordu.

İçindekiler

To Top