DateTime sınıfı ve Zaman Farkı
DateTime benim pek kullanmadığım ancak ihtiyaç olabildiğinde kullanılabilecek sınıflardan birisidir. Kullanmama sebebim ise, zaman veya tarih kullanmam gerken yerlerde genellikle timestamp kullanmamdır. DateTime formatında çalışması bana hep zor gelmiştir. DateTime formatında tarih karşılaştırmak için, php nin kendi sınıfı üzerine ufak iki fonksiyon eklemesiyle, kendi sevdiğim hale getirdim.
/** * Zaman * * @package CnylmzCache * @author Gündüz Can YILMAZ * @copyright 2009 * @version $Id$ * @access public */ class Zaman extends DateTime { protected $bolum; function aralik($str) { 'dakika'=>'* 60', 'saat'=>'* 3600', // 60 dakika 'gun'=>'* 86400', // 24 saat 'hafta'=>'* 604800', // 7 gün 'ay'=>'*2592000', // 30 gün 'yil'=>'*31557600' // 365 gün + 6 saat ); if($this->bolum < 1) return FALSE; else return TRUE; } function fark($zaman) { $time_bu=$this->getTimestamp(); $time_baslangic=$zaman->getTimestamp(); if($this->bolum < 1) $this->bolum=1; return ($time_bu-$time_baslangic)/$this->bolum; } }
Bu kodlarla, DateTime sınıfı üzerinde çalışan, Zaman adında bir sınıf türetiyoruz. Burada amaç, tarihler arasındaki farkı timestamp şeklinde alıp, istediğiniz zaman aralığı cinsinden size sunmaktır. Kullanışı ise şu şekilde,
Çıktı bugün itibariyle, 1 olacaktır çünkü $zaman->aralik fonksiyonu ile dönecek sonucun gün cinsinden olmasını sağladım. $zaman = new Zaman(date('Y-m-d')); satırı yerine $zaman = new Zaman('2009-09-20'); yazarak sonucu teyit edebilrisiniz.
DateTime sınıfı hakkında detaylı bilgiyi BURADAN bulabilirsiniz.

