optimusprime
01.Aralık.2014, 21:33
PHP konusunda özellikle yeni başlayanların en çok sorduğu sorulardan biri nasıl PHP ile Türkçe tarih yazdırabilirim? sorusudur.
1. Adım: Türkçe Gün ve Ay İsimleri
Öncelikle günler ve aylar adında iki değişken (array) yaratalım.
PHP- Kodu:
/**
* Herşeyden Önce Zaman Dilimimizi Tanımlayalım
*/
date_default_timezone_set('Europe/Istanbul');
/**
* Türkçe Gün İsimleri
*/
$gunler = array('Pazar','Pazartesi','Salı','Çarşamba','Perşe mbe','Cuma','Cumartesi');
/**
* Türkçe Ay İsimleri
* $aylar dizisinin (array) ilk anahtar değerini kullanmayacağımız için herhangi bir şey yazmıyoruz.
*/
$aylar = array('','Ocak','Şubat','Mart','Nisan','Mayıs','Ha ziran','Temmuz','Ağustos','Eylül','Ekim','Kasım',' Aralık');
($aylar) dizisinin ilk anahtarını kullanmayacağımız için herhangi bir şey yazmadık. İlk anahtarı kullanmamızın sebebi, anahtar sayısal değerinin 0 olmasıdır. Ayların sayısal değerleride 1 ile 12 arasında değişmesi nedeniyle ($aylar)dizisinin ilk anahtarını kullanmayacağız.
2. Adım: Türkçe Tarihi Yazdıralım
Türkçe gün ve ay isimlerini hazırladığımıza göre tek yapmamız gereken bunu yazdırmak;
PHP- Kodu:
// Bugünün Unix tarih formatında değerini alalım
$tarih = strtotime('today');
// Türkçe Tarihi Yazdıralım. Örnek: 01 Ocak 2000, Cumartesi
echo date('d',$tarih).' '.$aylar[date('n',$tarih)].' '.date('Y',$tarih).', '.$gunler[date('w',$tarih)];
3. Adım: Fonksiyonellik Katalım
Yukarıdaki kod elbette işimizi görüyor. Fakat çok fonksiyonel değil. Yukarıdaki kodlarımızı bir fonksiyon yaratıp, bu fonksiyon içerisine alarak daha da kullanışlı hale getirelim.
PHP- Kodu:
/**
* turkceTarih Fonksiyonu
*
* @PARAMETRELER
* $tarih: Yazıyla bir tarih belirtiniz. İngilizce today, tomorrow gibi direk yazısal olarak belirtebilirsiniz.
* $yazdir: (boolean) true ya da false. Değerinin true olması halinde otomatik olarak yazdırır, false olması halinde string olarak geri döndürür.
*/
function turkceTarih ($tarih,$yazdir = true) {
/**
* Herşeyden Önce Zaman Dilimimizi Tanımlayalım
*/
date_default_timezone_set('Europe/Istanbul');
+++ /**
+++ * Türkçe Gün İsimleri
+++ */
+++ $gunler = array('Pazar','Pazartesi','Salı','Çarşamba','Perşe mbe','Cuma','Cumartesi');
+++ /**
+++ * Türkçe Ay İsimleri
+++ * $aylar dizisinin (array) ilk anahtar değerini kullanmayacağımız için herhangi bir şey yazmıyoruz.
+++ */
+++$aylar = array('','Ocak','Şubat','Mart','Nisan','Mayıs','Ha ziran','Temmuz','Ağustos','Eylül','Ekim','Kasım',' Aralık');
+++ // Bugünün Unix tarih formatında değerini alalım
+++ $tarih = strtotime($tarih);
+++ // Türkçe Tarihi Yazdıralım. Örnek: 01 Ocak 2000, Cumartesi
+++ if ($yazdir) echo date('d',$tarih).' '.$aylar[date('n',$tarih)].' '.date('Y',$tarih).', '.$gunler[date('w',$tarih)];
+++ // Türkçe Tarihi Döndürelim. Örnek: 01 Ocak 2000, Cumartesi
+++ else return date('d',$tarih).' '.$aylar[date('n',$tarih)].' '.date('Y',$tarih).', '.$gunler[date('w',$tarih)];
}
Yukarıdaki kodda neler yaptık diye merak ediyorsanız;
8. satırda $yazdir parametresine bir değer atandığını görüyoruz. Bu değer, herhangi bir değer belirtilmediği sürece kullanılacak varsayılan değerdir;
function turkceTarih ($tarih,$yazdir = true)
22. satırda eğer $yazdir değeri true ise yazdırmasını söyledik;
if ($yazdir) echo date('d',$date).' '.$aylar[date('n',$date)].' '.date('Y',$date).', '.$gunler[date('w',$date)];
24. satırda eğer $yazdir değeri false ise değeri döndürmesini söyledik;
else return date('d',$date).' '.$aylar[date('n',$date)].' '.date('Y',$date).', '.$gunler[date('w',$date)];
Kullanımı
Tarihi direk olarak yazdırmak için;
[PHP]Yukarıdaki kodda neler yaptık diye merak ediyorsanız;
8. satırda $yazdir parametresine bir değer atandığını görüyoruz. Bu değer, herhangi bir değer belirtilmediği sürece kullanılacak varsayılan değerdir;
function turkceTarih ($tarih,$yazdir = true)
22. satırda eğer $yazdir değeri true ise yazdırmasını söyledik;
if ($yazdir) echo date('d',$date).' '.$aylar[date('n',$date)].' '.date('Y',$date).', '.$gunler[date('w',$date)];
24. satırda eğer $yazdir değeri false ise değeri döndürmesini söyledik;
else return date('d',$date).' '.$aylar[date('n',$date)].' '.date('Y',$date).', '.$gunler[date('w',$date)];
Kullanımı
Tarihi direk olarak yazdırmak için;
PHP- Kodu:
// Tarihi PHP ile Türkçe olarak yazdırmak
turkceTarih('18.02.2014');
Yukarıdaki kodda farkettiğiniz gibi $yazdir için herhangi bir değer atamadık. Varsayılan değerini (true) kullanıyoruz.
Tarihi döndürmek için;
PHP- Kodu:
// Türkçe tarihi döndürerek bir değişkene ata
$turkceTarih = turkceTarih('18.02.2014',false);
// Türkçe tarihi yazdır.
echo $turkceTarih;
Yukarıdaki kodda farkettiğiniz gibi $yazdir için bir değer atadık (false). Böylece veriyi yazdırmadan döndürmesini söylemiş olduk.
1. Adım: Türkçe Gün ve Ay İsimleri
Öncelikle günler ve aylar adında iki değişken (array) yaratalım.
PHP- Kodu:
/**
* Herşeyden Önce Zaman Dilimimizi Tanımlayalım
*/
date_default_timezone_set('Europe/Istanbul');
/**
* Türkçe Gün İsimleri
*/
$gunler = array('Pazar','Pazartesi','Salı','Çarşamba','Perşe mbe','Cuma','Cumartesi');
/**
* Türkçe Ay İsimleri
* $aylar dizisinin (array) ilk anahtar değerini kullanmayacağımız için herhangi bir şey yazmıyoruz.
*/
$aylar = array('','Ocak','Şubat','Mart','Nisan','Mayıs','Ha ziran','Temmuz','Ağustos','Eylül','Ekim','Kasım',' Aralık');
($aylar) dizisinin ilk anahtarını kullanmayacağımız için herhangi bir şey yazmadık. İlk anahtarı kullanmamızın sebebi, anahtar sayısal değerinin 0 olmasıdır. Ayların sayısal değerleride 1 ile 12 arasında değişmesi nedeniyle ($aylar)dizisinin ilk anahtarını kullanmayacağız.
2. Adım: Türkçe Tarihi Yazdıralım
Türkçe gün ve ay isimlerini hazırladığımıza göre tek yapmamız gereken bunu yazdırmak;
PHP- Kodu:
// Bugünün Unix tarih formatında değerini alalım
$tarih = strtotime('today');
// Türkçe Tarihi Yazdıralım. Örnek: 01 Ocak 2000, Cumartesi
echo date('d',$tarih).' '.$aylar[date('n',$tarih)].' '.date('Y',$tarih).', '.$gunler[date('w',$tarih)];
3. Adım: Fonksiyonellik Katalım
Yukarıdaki kod elbette işimizi görüyor. Fakat çok fonksiyonel değil. Yukarıdaki kodlarımızı bir fonksiyon yaratıp, bu fonksiyon içerisine alarak daha da kullanışlı hale getirelim.
PHP- Kodu:
/**
* turkceTarih Fonksiyonu
*
* @PARAMETRELER
* $tarih: Yazıyla bir tarih belirtiniz. İngilizce today, tomorrow gibi direk yazısal olarak belirtebilirsiniz.
* $yazdir: (boolean) true ya da false. Değerinin true olması halinde otomatik olarak yazdırır, false olması halinde string olarak geri döndürür.
*/
function turkceTarih ($tarih,$yazdir = true) {
/**
* Herşeyden Önce Zaman Dilimimizi Tanımlayalım
*/
date_default_timezone_set('Europe/Istanbul');
+++ /**
+++ * Türkçe Gün İsimleri
+++ */
+++ $gunler = array('Pazar','Pazartesi','Salı','Çarşamba','Perşe mbe','Cuma','Cumartesi');
+++ /**
+++ * Türkçe Ay İsimleri
+++ * $aylar dizisinin (array) ilk anahtar değerini kullanmayacağımız için herhangi bir şey yazmıyoruz.
+++ */
+++$aylar = array('','Ocak','Şubat','Mart','Nisan','Mayıs','Ha ziran','Temmuz','Ağustos','Eylül','Ekim','Kasım',' Aralık');
+++ // Bugünün Unix tarih formatında değerini alalım
+++ $tarih = strtotime($tarih);
+++ // Türkçe Tarihi Yazdıralım. Örnek: 01 Ocak 2000, Cumartesi
+++ if ($yazdir) echo date('d',$tarih).' '.$aylar[date('n',$tarih)].' '.date('Y',$tarih).', '.$gunler[date('w',$tarih)];
+++ // Türkçe Tarihi Döndürelim. Örnek: 01 Ocak 2000, Cumartesi
+++ else return date('d',$tarih).' '.$aylar[date('n',$tarih)].' '.date('Y',$tarih).', '.$gunler[date('w',$tarih)];
}
Yukarıdaki kodda neler yaptık diye merak ediyorsanız;
8. satırda $yazdir parametresine bir değer atandığını görüyoruz. Bu değer, herhangi bir değer belirtilmediği sürece kullanılacak varsayılan değerdir;
function turkceTarih ($tarih,$yazdir = true)
22. satırda eğer $yazdir değeri true ise yazdırmasını söyledik;
if ($yazdir) echo date('d',$date).' '.$aylar[date('n',$date)].' '.date('Y',$date).', '.$gunler[date('w',$date)];
24. satırda eğer $yazdir değeri false ise değeri döndürmesini söyledik;
else return date('d',$date).' '.$aylar[date('n',$date)].' '.date('Y',$date).', '.$gunler[date('w',$date)];
Kullanımı
Tarihi direk olarak yazdırmak için;
[PHP]Yukarıdaki kodda neler yaptık diye merak ediyorsanız;
8. satırda $yazdir parametresine bir değer atandığını görüyoruz. Bu değer, herhangi bir değer belirtilmediği sürece kullanılacak varsayılan değerdir;
function turkceTarih ($tarih,$yazdir = true)
22. satırda eğer $yazdir değeri true ise yazdırmasını söyledik;
if ($yazdir) echo date('d',$date).' '.$aylar[date('n',$date)].' '.date('Y',$date).', '.$gunler[date('w',$date)];
24. satırda eğer $yazdir değeri false ise değeri döndürmesini söyledik;
else return date('d',$date).' '.$aylar[date('n',$date)].' '.date('Y',$date).', '.$gunler[date('w',$date)];
Kullanımı
Tarihi direk olarak yazdırmak için;
PHP- Kodu:
// Tarihi PHP ile Türkçe olarak yazdırmak
turkceTarih('18.02.2014');
Yukarıdaki kodda farkettiğiniz gibi $yazdir için herhangi bir değer atamadık. Varsayılan değerini (true) kullanıyoruz.
Tarihi döndürmek için;
PHP- Kodu:
// Türkçe tarihi döndürerek bir değişkene ata
$turkceTarih = turkceTarih('18.02.2014',false);
// Türkçe tarihi yazdır.
echo $turkceTarih;
Yukarıdaki kodda farkettiğiniz gibi $yazdir için bir değer atadık (false). Böylece veriyi yazdırmadan döndürmesini söylemiş olduk.