Arif

WFN Üye
Konular
756
Mesajlar
756
Çözüm
0
Ticaret Puanı
0
Üyelik
25 Gün
Konum
Bilecik
Web Sitesi
Var
Alanı
SEO Uzmanı
1/1
Konu sahibi
PHP’de bir tarih metninin biçimini değiştirmek için önce mevcut biçimiyle tarihi okuyun, ardından format() ile istediğiniz biçimde yazdırın. Örneğin 2026-10-26 değerini 26.10.2026 olarak gösterebilirsiniz. Bu işlem tarihi yalnızca çıktıda biçimlendirir; kaynak metni veya veritabanındaki değeri kendiliğinden değiştirmez.

Mevcut tarihi başka bir biçimde yazdırma​


Girdi biçimi biliniyorsa DateTimeImmutable::createFromFormat() kullanın. İlk parametre girdinin biçimini, format() içindeki parametre ise istenen çıktı biçimini belirtir.

Aşağıdaki varsayımsal örneği bir PHP dosyasına kaydedip PHP ile çalıştırın:

PHP:
<?php
$girdi = '2026-10-26';
$tarih = DateTimeImmutable::createFromFormat('!Y-m-d', $girdi);
$hatalar = DateTimeImmutable::getLastErrors();

if ($tarih === false ||
    ($hatalar !== false &&
        ($hatalar['warning_count'] > 0 || $hatalar['error_count'] > 0)) ||
    $tarih->format('Y-m-d') !== $girdi) {
    echo 'Geçersiz tarih veya beklenmeyen tarih biçimi.';
} else {
    echo $tarih->format('d.m.Y');
}

Beklenen çıktı 26.10.2026 olur. ! işareti, girdide bulunmayan saat gibi alanları sıfırlar. Hata kontrolü önemlidir: PHP bazı geçersiz tarihleri otomatik olarak başka bir tarihe dönüştürebilir; yalnızca nesne oluşması girdinin geçerli olduğunu kanıtlamaz. Son karşılaştırma da girdinin tam olarak Y-m-d biçiminde olmasını sağlar.

Hata mesajı alırsanız girdinin yıl-ay-gün sırasını, tireleri ve günün ilgili ayda bulunup bulunmadığını kontrol edin. Örneğin girdiniz 26.10.2026 biçimindeyse okuma biçimini !d.m.Y, son karşılaştırmadaki biçimi de d.m.Y olarak değiştirin.

Biçim karakterlerini seçme​


Biçim dizgesindeki harfler tarih ve saat parçalarını belirler; nokta, tire ve eğik çizgi gibi ayırıcılar çıktıda kullanılır.
KarakterAnlamıÖrnek
dİki basamaklı gün06
mİki basamaklı ay03
YDört basamaklı yıl2026
H24 saat biçiminde saat15
iDakika04
sSaniye09
Örneğin d/m/Y H:i biçimi 26/10/2026 15:04 gibi bir çıktı üretir. Dakika için küçük i kullanın; m ayı gösterir. Girdi saat de içeriyorsa okuma biçimine saat alanlarını ve ayırıcılarını da ekleyin.

Şu anki tarihi gösterme​


Mevcut anı göstermek için tarih metnini ayrıştırmanız gerekmez. Zaman dilimini açıkça belirleyip sonucu biçimlendirebilirsiniz:

PHP:
<?php
$simdi = new DateTimeImmutable('now', new DateTimeZone('Europe/Istanbul'));
echo $simdi->format('d.m.Y H:i:s');

Çıktı, kodun çalıştığı andaki İstanbul tarihini ve saatini gösterir. Farklı bir bölgenin saatini istiyorsanız zaman dilimi adını değiştirin. Yalnızca biçim dizgesini değiştirmek saat dilimini değiştirmez.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Foruma git ?

Bu konuyu görüntüleyen kullanıcılar

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic