(PHP 5 >= 5.3.0, PHP 7, PHP 8)
DateInterval::format — Zaman aralığını biçimler
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.