PHP için Türkçe date fonksiyonu

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.

 

3 thoughts on “PHP için Türkçe date fonksiyonu

  1. Bir başka fonksiyonla birlikte kullandım. Çok işime yaradı. Elinize sağlık…

mehmet özgöçmen için bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir