/** * verilen tarihler arasında geçen süreyi "1 gün önce", "2 hafta önce" gibi * günlük kullanım'a uygun kolay anlaşılır bir şekle çevirir. Normal kullanımda * o anki tarih baz alınır. * İstenirse ikinci parametre kullanılarak, girilen iki tarih arasındaki * fark alınabilir. * Örnek Kullanım (şu anki tarihi 2009-08-25 13:00:00 olarak kabul edersek): * echo "çıktı: ".cicitarih("2009-08-23 12:05:14"); // çıktı: 2 gün önce * echo "çıktı: ".cicitarih("2009-04-23 10:00:00"); // çıktı: 4 ay önce * echo "çıktı: ".cicitarih("2009-04-23 10:00:00", "2009-05-24 11:00"); * //çıktı: 1 ay önce * @author gudubeth.net * @param str $tarih hesabın yapılacağı tarih. strtotime fonksiyonu * tarafından kulanılabilecek her türlü string değerini * alabilir. * bkz: http://www.php.net/manual/tr/function.strtotime.php * @param str $simdi boş bırakılırsa, o anki saat baz alınır. * formatı $tarih alanında olduğı gibidir. * @return str */function cicitarih($tarih,$simdi=null){ //aradan geçen süreyi bulif(!$simdi)$simdi=time();$sure=$simdi-strtotime($tarih); //eğer geçen süre negatif ise boş metin döndür.if($sure<0)return""; //dönüş metninin oluşturulduğu yer//3600: 60*60, yani 1 saat;//86400: 60*60*24 yani 1 gün demektir.if($sure<60)returnround($sure)." saniye önce";elseif($sure<3600)returnround($sure/60)." dakika önce";elseif($sure<86400)returnround($sure/(3600))." saat önce";elseif($sure<86400*7)returnround($sure/(86400))." gün önce";elseif($sure<86400*30)returnround($sure/(86400*7))." hafta önce";elseif($sure<86400*365)returnround($sure/(86400*30))." ay önce";
phpkodlari.com © 2009 Herkes Php öğrenecek Web tasarım ve eğitim kaynağınız.