(PHP 5 >= 5.3.0, PHP 7, PHP 8)
DateInterval::format — Zaman aralığını biçimler
$biçem
): stringZaman aralığını biçimlendirir.
biçem
Karakter | Açıklama | Örnek değerler |
---|---|---|
% |
% iminin kendisi |
% |
Y |
Başına 0 getirilerek iki haneli yıl | 01 , 03 |
y |
0 ile öncelenmeksizin yıl | 1 , 3 |
M |
Başına 0 getirilerek iki haneli ay | 01 , 03 ,
12 |
m |
0 ile öncelenmeksizin ay | 1 , 3 ,
12 |
D |
Başına 0 getirilerek iki haneli ayın günü | 01 , 03 ,
31 |
d |
0 ile öncelenmeksizin ayın günü | 1 , 3 ,
31 |
a |
DateTime::diff()'in sonucu olarak toplam gün sayısı, aksi takdirde (unknown) |
4 , 18 ,
8123 |
H |
Başına 0 getirilerek iki haneli saat | 01 , 03 ,
23 |
h |
0 ile öncelenmeksizin saat | 1 , 3 ,
23 |
I |
Başına 0 getirilerek iki haneli dakika | 01 , 03 ,
59 |
i |
0 ile öncelenmeksizin dakika | 1 , 3 ,
59 |
S |
Başına 0 getirilerek iki haneli saniye | 01 , 03 ,
57 |
s |
0 ile öncelenmeksizin saniye | 1 , 3 ,
57 |
F |
Baştan 0 ile doldurulmuş en az 6 hanelik sayısal microsaniye. | 007701 , 052738 , 428291 |
f |
Sayısal olarak mikrosaniye | 7701 , 52738 , 428291 |
R |
Negatifse "- ", pozitifse
"+ " imi |
- , + |
r |
Negatifse "- ", pozitifse boş dizge
|
- , |
Biçimlendirilmiş zaman aralığını bir dizge olarak döndürür.
7.2.12 | F ve f biçemi artık
daima pozitif oluyor. |
---|---|
Sürüm: | Açıklama |
7.1.0 | F ve f biçem
karakterleri eklendi. |
Örnek 1 - DateInterval örneği
<?php
$interval = new DateInterval('P2Y4DT6H8M');
echo $interval->format('%d gün');
?>
Yukarıdaki örneğin çıktısı:
4 gün
Örnek 2 - DateInterval ve büyük değerler
<?php
$interval = new DateInterval('P32D');
echo $interval->format('%d gün');
?>
Yukarıdaki örneğin çıktısı:
32 gün
Örnek 3 - DateInterval ve DateTime::diff() ile %a ve %d değiştiricileri
<?php
$january = new DateTime('2010-01-01');
$february = new DateTime('2010-02-01');
$interval = $february->diff($january);
// %a toplam gün sayısını çıktılar.
echo $interval->format('toplam %a gün')."\n";
// %d ise aya dahil olmayan gün sayısını çıktılar.
echo $interval->format('%m ay, %d gün');
?>
Yukarıdaki örneğin çıktısı:
toplam 31 gün 1 ay, 0 gün
Bilginize:
DateInterval::format() yöntemi ne zaman dizgelerinde ne de tarih bölümlerinde tehir edilen kısımları yeniden hesaplar. Bunun sebebi
"32 gün"
gibi büyük değerlerin olanaksız oluşudur. Olanaklı olsaydı böyle bir değer"1 ay 4 gün"
ile"1 ay 1 gün"
arasında bir değer olarak yorumlanabilirdi.