PHP Türkçe Tarih Yazdırma 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.

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

<?php echo date_tr('j F Y, l', '2011-04-19'); ?>

Çıktısı

19 Nisan 2011, Salı

şeklinde olacaktır.

Bir cevap yazın

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