array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'tr', ), 'this' => array ( 0 => 'dateinterval.construct.php', 1 => 'DateInterval::__construct', ), 'up' => array ( 0 => 'class.dateinterval.php', 1 => 'DateInterval', ), 'prev' => array ( 0 => 'class.dateinterval.php', 1 => 'DateInterval', ), 'next' => array ( 0 => 'dateinterval.createfromdatestring.php', 1 => 'DateInterval::createFromDateString', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'tr', 'path' => 'reference/datetime/dateinterval/construct.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
DateInterval::__construct — Yeni bir DateInterval nesnesi oluşturur
Yeni bir DateInterval nesnesi oluşturur.
duration
Dizge türünde zaman aralığı belirtimi.
Zaman aralığını (period
) belirtmek için biçem
P
harfiyle başlar, ardından süreyi belirten bir
tamsayı değer gelir. Süre zaman bileşenleri içeriyorsa bunların önüne
T
harfi getirilir.
Belirteç | Açıklama |
---|---|
Y |
Yıl |
M |
Ay |
D |
Gün |
W |
Hafta. Gün sayısına dönüştürülebilir. PHP 8.0.0 öncesinde, D harfiyle birlikte belirtilemiyordu. |
H |
Saat |
M |
Dakika |
S |
saniye |
Burada bazı basit örneklere yer verilmiştir.
İki gün: P2D
.
İki saniye: PT2S
.
Altı yıl, 5 dakika: P6YT5M
.
Bilginize:
Birimler belirtilirken en büyük ölçekli birim solda en küçük ölçekli birim sağda kalacak şekilde veri girilir. Dolayısıyla, örneğin, aylar yıllardan sonra, günlerden önce yer alır. Bur yıl dört gün
P4D1Y
değilP1Y4D
olarak ifade edilir.
Belirtim bir tarih saat olarak da gösterilebilir. Örneğin, bir yıl dört
gün P0001-00-04T00:00:00
olarak gösterilebilir. Fakat
bu biçemde belirtilen değerler birime tanınan azami değeri aşmamalıdır
(örneğin 25
saat geçersizdir).
Bu biçemler » ISO 8601 süre belirtimine dayanır.
zaman_aralığı
bir zaman aralığına çözümlenemediğinde
DateMalformedIntervalStringException
istisnası oluşur.
Sürüm: | Açıklama |
---|---|
8.3.0 | Exception yerine artık DateMalformedIntervalStringException istisnası oluşuyor. |
8.2.0 |
Yalnızca y 'den f 'ye kadar
özellikler ile invert ve days
özelliklerine ek olarak yeni mantıksal from_string
özelliği görünür olacaktır.
|
8.0.0 |
W artık D ile birlikte
belirtilebiliyor.
|
Örnek 1 - DateInterval nesnelerinin oluşturulması ve kullanılması
<?php
// Belli bir tarih oluştur
$someDate = \DateTime::createFromFormat("Y-m-d H:i", "2022-08-25 14:18");
// Tarih aralığı oluştur
$interval = new \DateInterval("P7D");
// Tarih aralığını ekle
$someDate->add($interval);
// Tarih aralığını dizgeye dönüştür
echo $interval->format("%d");
Yukarıdaki örneğin çıktısı:
Örnek 2 - DateInterval örneği
<?php
$interval = new DateInterval('P1W2D');
var_dump($interval);
?>
Yukarıdaki örneğin PHP 8.2 çıktısı:
object(DateInterval)#1 (10) { ["y"]=> int(0) ["m"]=> int(0) ["d"]=> int(9) ["h"]=> int(0) ["i"]=> int(0) ["s"]=> int(0) ["f"]=> float(0) ["invert"]=> int(0) ["days"]=> bool(false) ["from_string"]=> bool(false) }
Yukarıdaki örneğin PHP 8 çıktısı:
object(DateInterval)#1 (16) { ["y"]=> int(0) ["m"]=> int(0) ["d"]=> int(9) ["h"]=> int(0) ["i"]=> int(0) ["s"]=> int(0) ["f"]=> float(0) ["weekday"]=> int(0) ["weekday_behavior"]=> int(0) ["first_last_day_of"]=> int(0) ["invert"]=> int(0) ["days"]=> bool(false) ["special_type"]=> int(0) ["special_amount"]=> int(0) ["have_weekday_relative"]=> int(0) ["have_special_relative"]=> int(0) }
Yukarıdaki örneğin PHP 7 çıktısı:
object(DateInterval)#1 (16) { ["y"]=> int(0) ["m"]=> int(0) ["d"]=> int(2) ["h"]=> int(0) ["i"]=> int(0) ["s"]=> int(0) ["f"]=> float(0) ["weekday"]=> int(0) ["weekday_behavior"]=> int(0) ["first_last_day_of"]=> int(0) ["invert"]=> int(0) ["days"]=> bool(false) ["special_type"]=> int(0) ["special_amount"]=> int(0) ["have_weekday_relative"]=> int(0) ["have_special_relative"]=> int(0) }