(PHP 5 >= 5.3.0, PHP 7)
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.
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.
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