PHP’de date fonksiyonunun kullanımı normalde ingilizcedir. setlocale gibi bir sürü detayla uğraşmak istemiyorsanız ve ayrıca onlarla uğraşıp da sunucu kaynaklı sorunlarla boğuşmak zorunda kalmamak için ben basit bir fonksiyon kullanıyorum. Çalışması date fonksiyonuna çok benzer, fakat türkçe çıktı verir. Fonksiyon biri zorunlu iki değişken alıyor. İlk değişkenimiz date() fonksiyonunda olduğu gibi format değişkeni. İkincisi ise zaman bildiren bir metin değişkeni. Bu noktada date fonksiyonundan farklı olarak ikinci değişkenin tamsayı bir zaman değişkeni olmasına gerek olmuyor, fonksiyon onu zaman değişkenine çeviriyor. Eğer kullanılmazsa zamanı şimdi (sunucu bazlı) olarak kabul ediyor.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | function date_tr($f, $zt = 'now'){ $z = date("$f", strtotime($zt)); $donustur = array( 'Monday' => 'Pazartesi', 'Tuesday' => 'Salı', 'Wednesday' => 'Çarşamba', 'Thursday' => 'Perşembe', 'Friday' => 'Cuma', 'Saturday' => 'Cumartesi', 'Sunday' => 'Pazar', 'January' => 'Ocak', 'February' => 'Şubat', 'March' => 'Mart', 'April' => 'Nisan', 'May' => 'Mayıs', 'June' => 'Haziran', 'July' => 'Temmuz', 'August' => 'Ağustos', 'September' => 'Eylül', 'October' => 'Ekim', 'November' => 'Kasım', 'December' => 'Aralık', 'Mon' => 'Pts', 'Tue' => 'Sal', 'Wed' => 'Çar', 'Thu' => 'Per', 'Fri' => 'Cum', 'Sat' => 'Cts', 'Sun' => 'Paz', 'Jan' => 'Oca', 'Feb' => 'Şub', 'Mar' => 'Mar', 'Apr' => 'Nis', 'Jun' => 'Haz', 'Jul' => 'Tem', 'Aug' => 'Ağu', 'Sep' => 'Eyl', 'Oct' => 'Eki', 'Nov' => 'Kas', 'Dec' => 'Ara', ); foreach($donustur as $en => $tr){ $z = str_replace($en, $tr, $z); } if(strpos($z, 'Mayıs') !== false && strpos($f, 'F') === false) $z = str_replace('Mayıs', 'May', $z); return $z; } |
Eğer aşağıdaki gibi bir kod kullanırsanız
1 | <? echo date_tr('j F Y, l', '2011-04-19'); ?> |
Çıktısı
19 Nisan 2011, Salı |
şeklinde olacaktır.
Fonsiyonda AM/PM, am/pm ve rd, nd gibi prametreler (S, a, A) için çeviri yaptırmadım. Kendim kullanmıyorum ama ihtiyaç halinde fonksiyona bu opsiyonlar için de çeviriler eklenebilir. Umarım işinize yarar.
kardeşim eline emeğine sağlık çok güzel bir paylaşım…
Teşekkürler. Çok işime yaradı.
Bir başka fonksiyonla birlikte kullandım. Çok işime yaradı. Elinize sağlık…