Öneri ve Hata Raporu



Günün Sözü Sevemez kimse seni benim sevdiğim kadar

kategori PHP
oylama 3/5 yorum 2 yorum yazar Hakan Taşan tarih 23 Haziran 2015

Bildiğiniz gibi date() fonksiyonu ile tarihleri ve saatleri öğrenebiliyorduk ancak günler ve aylar maalesef İngilizce oluyordu. İngilizceden Türkçeye çevirmenin bildiğim 2 yolunu anlatacağım. 1. yol PHP'nin setlocale() fonksiyonunu kullanarak, 2. yol ise str_replace() fonksiyonunu kullanarak basit bir array işlemiyle yapabiliriz.

1. Yol: setlocale() Fonksiyonu

setlocale() fonksiyonu yereli ayarlar. Örneğin; yerel para birimi, karakter dönüşümleri, ondalık ayraçlar, tarih ve saat gibi. 2 parametre alır. 1. parametre hangi özelliğin yerelleştirileceğini, 2. parametre ise hangi dile dönüştürüleceğini belirtir.

setlocale(LC_TIME,"Turkish");  // LC_TIME tarihin, Turkish ise tarihin Türkçeye dönüştürüleceğini gösterir

 

Örnek

<?php
    setlocale(LC_TIME,"Turkish");

    echo strftime("%d %B %A %Y");
    //  Çıktı: 23 Haziran Salı 2015
?>

 

2. Yol: str_replace() Fonksiyonu

str_replace() fonksiyonu ile string içindeki ya da dizi içindeki istediğimiz değerleri değiştirebiliyoruz. Öncelikle İngilizce ve Türkçe olarak ay ve gün isimlerini ayrı ayrı dizilere atayıp daha sonra da bu fonksiyonu kullanarak dönüşüm işlemini yapacağız.

Örnek

<?php
    date_default_timezone_set('Europe/Istanbul');

    $tarih = date("d F l");
    echo $tarih;
    // Çıktı: 23 June Tuesday
    
    $ing_aylar = array("January","February","March","May","April","June","July","August","September","October","November","December");
    $tr_aylar = array("Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık");
    
    $ing_gunler = array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");
    $tr_gunler = array("Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi","Pazar");

    $tarih = str_replace($ing_aylar,$tr_aylar,$tarih);
    $tarih = str_replace($ing_gunler,$tr_gunler,$tarih);

    echo $tarih;
    // Çıktı: 23 Haziran Salı
?>

 

paylaş Paylaş
oylama yap Oyla

makale yorumları YORUMLAR

2 Yorum


yorum

ozan

26 Temmuz 2018 20:51


"May" ve "April" yeri yanlış

yorum

Hakan Çelik

23 Ekim 2021 19:06


Eline sağlık hocam...benim merak ettiğim şu..2 gün sonrası türkçe tarih almak istiyoruz diyelim.Günü de türkçe yazdırarak nasıl yaparız?..İçinden çıkamadım.
yani bugün 23.Ekim Cumartesi..2 gün sonrası 25 Ekim Pazartesi yi göstermek istiyoruz.Diceksiniz nerede kullanacaksınız.2 gün sonrasına randevu vermek için ,ürünün kargoya verileceği tarihi göstermek için vs....Teşekkürler.