Php Tarih Sınıfı: yedTarih v1.3.2

Php’de sıkça tarih verileriyle uğraştığım(ız) için bi’kaç tane tarih fonksiyonum vardı. Hepsini bi’sınıfta toplayayım dedim ve ortaya bu sınıf çıktı

Adını yedTarih koyduğum sınıfın iki temel özelliği var;

  • Tarih Döndürmek
  • Tarih Formatlamak

Haliyle bu iki özellik için iki ayrı metedu var onlar da; “ver” ve “formatla”.

ver metodu:

Bu metod o an içinde bulunduğumuz tarih,yıl,ay,gün,saat ve dakika değerlerini döndürür.


require_once 'yedTarih.php';
$tarih=new yedTarih();
echo $tarih->ver('tarih'); #Formatsız tarih. Örn: 2010-12-29 19:38:41
echo $tarih->ver('yil'); #Yıl. Örn: 2010
echo $tarih->ver('ay'); #Ay. Örn: Aralık
echo $tarih->ver('gun'); #Gün. Örn: Pazartesi
echo $tarih->ver('saat'); #Saat. Örn:15
echo $tarih->ver('dakika'); #Dakika. Örn:23

Formatlama metodoyla oluşan tarih örnekleri

Bu metod formatsız (2010-12-29 19:38:41 şekli) olarak verdiğiniz tarih verisini formatlamanızı sağlar. Örnekler:

require_once 'yedTarih.php';
$tarih=new yedTarih();

$buTarih=$tarih->ver('tarih');
echo $tarih->formatla($buTarih,'uzun'); #Örn: 20 Aralık 2010
echo $tarih->formatla($buTarih,'ideal'); #Örn: 20 Aralık '10
echo $tarih->formatla($buTarih,'kisa'); #Örn: 20.12.'10
echo $tarih->formatla($buTarih,'noktali'); #Örn: 20.12.2010 , Serpito'nun önerisi üzerine.
echo $tarih->formatla($buTarih,'rss'); #Rss'e göre pubDate. Örn: Tue, 14 Dec 2010 12:35:25 +0200
echo $tarih->formatla($buTarih,'saatli'); #Örn: 29 Mayıs 2011, 13:00

Örnek Kullanım

require_once 'yedyen.php';
$tarih=new tarih();

$buTarih=$tarih->ver('tarih');
echo $tarih->formatla($buTarih,'uzun'); #Örn: 20 Aralık 2010
echo $tarih->formatla($buTarih,'ideal'); #Örn: 20 Aralık '10
echo $tarih->formatla($buTarih,'kisa'); #Örn: 20.12.'10
echo $tarih->formatla($buTarih,'noktali'); #Örn: 20.12.2010 , Serpito'nun önerisi üzerine.
echo $tarih->formatla($buTarih,'rss'); #Rss'e göre pubDate. Örn: Tue, 14 Dec 2010 12:35:25 +0200
echo $tarih->formatla($buTarih,'saatli'); #Örn: 29 Mayıs 2011, 13:00

$buTarih = $tarih->ver('tarih');
echo $tarih->formatla($buTarih,'kisa');

Bu sınıfı genelde veritabanında sakladığım tarih verisini ekrana yansıtırken kullanıyorum. Umarım sizin de işinize yarar.


Serpito’nun önerdiği özelliği de ekleyip versiyonu 1.1’e yükselttim. 🙂

Güncelleme: 25 Mayıs 2011

“formatla” metonu içine “saatli” seçeneği eklendi.

Sınıfı İndir

Güncelleme: 25 Haziran ’11

Sınıfa dil desteği de ekledim. Kendi içinde İngilizce ve Türkçe ekli olarak geliyor ve isterseniz yeni diller ekleyebiliyorsunuz.

Dil değiştirme:

$yedTarih = new yedTarih();

$yedTarih->dil = 'en'; //Bu özellik standart olarak tr olarak seçilidir. Türkçe tarih verisi almak istiyorsanız bu satırı çalıştırmanıza gerek yok.
$buTarih = $yedTarih->ver();
echo $yedTarih->formatla($buTarih);

Yeni dil seçeneği ekleme:

yedTarih’e yeni dil seçenekleri eklemek için sınıfın kaynak kodlarına inmeniz gerekiyor. Sınıftaki $gun,$kisaAylar ve $aylar özelliklerinin değerlerine yeni birer dizi eklemelisiniz.

Örnek:


<?
/**
* Tarih verisi elde etmeyi ve formatlamayı sağlar
* @author yedincisenol | İbrahim Ş. Örencik
* @version 1.3.2
* @sonGelistirme 09 Haziran 2011
*/
class yedTarih{
private $gunler=array(
'tr'=>array(0=>'Pazar',1=>'Pazartesi',2=>'Salı',3=>'Çarşamba',4=>'Perşembe',5=>'Cuma',6=>'Cumartesi'),
'en'=>array(0=>'Sunday',1=>'Monday',2=>'Tuesday',3=>'Wednesday',4=>'Thursday',5=>'Friday',6=>'Saturday'),
'es'=>array(0=>'Domingo',1=>'Lunes',2=>'Martes',3=>'Miércoles',4=>'Jueves',5=>'Viernes',6=>'Sábado')
);
private $kisaAylar=array(
'tr'=>array(01=>'Ock',02=>'Şubt',03=>'Mart',04=>'Nsn',05=>'Mys',06=>'Hzrn',07=>'Tmmz',08=>'Ağsts',09=>'Eyl',10=>'Ekm',11=>'Kasım',12=>'Arlk'),
'en'=>array(01=>'Jan',02=>'Feb',03=>'Mar',04=>'Apr',05=>'May',06=>'Jun',07=>'Jul',08=>'Aug',09=>'Sep',10=>'Oct',11=>'Nov',12=>'Dec'),
'es'=>array(01=>'Ene',02=>'Feb',03=>'Mar',04=>'Abr',05=>'May',06=>'Jun',07=>'Jul',08=>'Agos',09=>'Sept',10=>'Oct',11=>'Nov',12=>'Dic')
;
#Buradaki kısaltmalar yanlış olabilir.
private $aylar=array(
'tr'=>array(01=>'Ocak',02=>'Şubat',03=>'Mart',04=>'Nisan',05=>'Mayıs',06=>'Haziran',07=>'Temmuz',08=>'Ağustos',09=>'Eylül',10=>'Ekim',11=>'Kasım',12=>'Aralık'),
'en'=>array(01=>'January',02=>'February',03=>'March',04=>'April',05=>'May',06=>'June',07=>'July',08=>'August',09=>'September',10=>'October',11=>'November',12=>'December'),
'es'=>array(01=>'Enero',02=>'Febrero',03=>'Marzo',04=>'Abril',05=>'Mayo',06=>'Junio',07=>'Julio',08=>'Agosto',09=>'Septiembre',10=>'Octubre',11=>'Noviembre',12=>'Diciembre')
);
#Bu arada İspanyolca'daki aylar İngilizce'dekilerine ne kadar da çok benziyor.

Yukarıda gördüğünüz gibi, $gunler,$kisaAylar ve $aylar özelliklerine ‘es’ anahtarı oluşturup dizi ekledik ve teker teker günlerin vs. adlarını girdik.
Böylece sınıfa yeni bir dil eklemiş olduk. Eklediğimiz dil’de formatlama yapmak veya tarih almak için de, yukarıdaki “Dil değiştirme” başlığına bakabilirsiniz.
Lafı gereğinden fazla uzattım. Sınıfın son versiyonu’nun (1.3.2) Php5 ve PHP4 de çalışan versiyonlarını aşağıdaki bağlantılardan edinebilirsiniz.
Not: Sınıfın PHP4 versiyonunda “rss” verisine göre formatlama özelliği yok. Bunun sebebi de sınıf içinde kullandığım date_create fonksiyonunun Php4’te olmaması.

yedTarih 1.3.2 indir | yedTarih 1.3.2 PHP4 indir.

2 thoughts on “Php Tarih Sınıfı: yedTarih v1.3.2

Bir Cevap Yazın

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