Yükleniyor

Php tarihleri türkçe yazdırmak mümkündür. Bunun için birden fazla yöntem mevcut ve hepsi de oldukça basittir.

1. Yöntem

Eğer sunucunuzda türkçe tarih desteği mevcutsa direk sunucu üzerinden işlem yapabilirsiniz. Bunu sunucu sağlayan firmanızdan ve ya echo phpinfo() komutu ile öğrenebilirsiniz.

Daha sonra strftime() fonksiyonu ile tarih değerlerini dilediğimiz formatta oluşturuyoruz.

<?php
// Zamanı Türkiye'ye göre ayarladık.
date_default_timezone_set('Europe/Istanbul');

//Dili Türkçe ayarladık. Tabi diğer sunucunuzda kurulu olduğu sürece ülkelerin dillerini de ayarlayabilirsiniz.
setlocale(LC_TIME, 'turkish');

echo strftime('%e %B %Y %A %H:%M:%S');
//Çıktı: 29 Mayıs 2021 Cumartesi 16:18:35
?>
Tabi burada yazdığımız % li karakterlerin bir anlamı var ve tüm karakterlerin ne olduğunu aşağıdaki tablodan görebilirsiniz.
Karakter Açıklama Örnek Çıktısı
%e Hangi günde olduğunu verir. 30
%m Ayı verir. 05
%Y Yılı verir. 2021
%H 24 saat formatında saati verir. 16 (00 ile 23 arasındadır.)
%M Dakikayı verir. 48 (0 ile 60 arasındadır.)
%S Saniyeyi verir. 22 (0 ile 60 arasındadır.)
%A Günün adını verir. Cumartesi
%B Ayın adını verir. Mayıs
2. Yöntem

Eğer sunucunuzda Türkçe paketiniz yoksa kendiniz manuel olarak ayarlamalısınız. Tabi burada php diziler devreye giriyor. Mantığını anlayabilmeniz için yapılabilecek basit bir yöntem sunduk. Bunu kendiniz geliştirebilirsiniz, daha farklı bir hale de getirebilirsiniz. Tamamen size, mantığınıza kalmış bir şey.

Aşağıdaki örneği fonksiyon hale getirip kullanabilirsiniz ve ya str_replace() fonksiyonunu kullanarak da kendiniz bir şeyler yapabilirsiniz.

<?php
// Zamanı Türkiye'ye göre ayarladık.
date_default_timezone_set('Europe/Istanbul');

$turkceGunler = array(
    'Pazartesi',
    'Salı',
    'Çarşamba',
    'Perşembe',
    'Cuma',
    'Cumartesi',
    'Pazar'
);

$turkceAylar = array(
    'Ocak',
    'Şubat',
    'Mart',
    'Nisan',
    'Mayıs',
    'Haziran',
    'Temmuz',
    'Ağustos',
    'Eylül',
    'Ekim',
    'Kasım',
    'Aralık'
);

$turkceAy = $turkceAylar[date('m') - 1]; // Dönen değer 4
$turkceGun = $turkceGunler[date('N') - 1]; // Dönen değer 5
/*
## Buradaki mantık basit;
## Hangi ayda ve hangi günde olduğumuzu rakamsal olarak buluyoruz.
## Daha sonra 1 ile çıkartıyoruz çünkü dizideki elemanların keyleri 0 dan başlıyor.
## mesela 5. ayda olduğumuzu düşünelim $turkceAylar dizisinde 5 keye sahip eleman Haziran
ancak -1 yaptığımız için bize mayısı dönecektir. ($turkceAylar[4] demiş olduk aslında.)
## Keyleri 1 den başlatırsanız elle yaparsanız -1 değerini yapmanıza gerek yok.
*/
echo date('j ') . $turkceAy. date(' Y ') . $turkceGun . date(' H:i:s');
//Çıktı: 29 Mayıs 2021 Cumartesi 16:48:05
//Hep şimdiki zamanı yazdırdığımız için kodu çalıştırdığınız zamanı vermektedir.
?>

Daha iyi anlayabilmeniz için örnekteki dizileri keyleri ile beraber yazalım.

<?php
// Zamanı Türkiye'ye göre ayarladık.
date_default_timezone_set('Europe/Istanbul');

$turkceGunler[0] = 'Pazartesi';
$turkceGunler[1] = 'Salı';
$turkceGunler[2] = 'Çarşamba';
$turkceGunler[3] = 'Perşembe';
$turkceGunler[4] = 'Cuma';
$turkceGunler[5] = 'Cumartesi';
$turkceGunler[6] = 'Pazar';

$turkceAylar[0] = 'Ocak';
$turkceAylar[1] = 'Şubat';
$turkceAylar[2] = 'Mart';
$turkceAylar[3] = 'Nisan';
$turkceAylar[4] = 'Mayıs';
$turkceAylar[5] = 'Haziran';
$turkceAylar[6] = 'Temmuz';
$turkceAylar[7] = 'Ağustos';
$turkceAylar[8] = 'Eylül';
$turkceAylar[9] = 'Ekim';
$turkceAylar[10] = 'Kasım';
$turkceAylar[11] = 'Aralık';

$turkceAy = $turkceAylar[date('m') - 1]; // Dönen değer 4
$turkceGun = $turkceGunler[date('N') - 1]; // Dönen değer 5
/*
## Keyleri 1 den başlatırsanız -1 değerini yapmanıza gerek yok.
*/
echo date('j ') . $turkceAy . date(' Y ') . $turkceGun . date(' H:i:s');
//Çıktı: 29 Mayıs 2021 Cumartesi 16:48:05
//Hep şimdiki zamanı yazdırdığımız için kodu çalıştırdığınız zamanı vermektedir.
?>