Bu Yazı üzerinden 10 gün geçmiş.

balistik81tolga akbulut

Merhaba arkadaşlar başlıktada belirttiğim gibi bir yazı üzerinden şukadar saat veya hafta, gün geçmiş tarihi nasıl kontrol ettirebiliriz..

internetde dolaşırken şöyle bişe buldum ama çalıştırınca çalışmadı :)

/** * 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&lt;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&lt;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";
2011-04-06 04:31:51 Edit:2011-04-06 04:32:27

Php

mantığını anlarsan kendin yapabilirsin.

bilgisayar zaman kavramını bilmez. bilgisayara zamanı anlatmak için saniye cinsinden numaralar vermek gerekir. şöyle ki:

Bilgisayarla 1970 yılı 1 ocak tarihinden itibaren saymaya başlamıştır. 1, 2, 3 derken saniyeler üst üste birikmiştir. şu anda 1302105946 saniye olmuş.kaç saniye geçtiğini görmek için bilgisayarınıza

<?

echo time();

?>

yazmanız yeterli.

bu durumda mesajın kaç gün önce atıldığını anlamak için kullanacağımız formül.

$fark = $simdi - $mesajzamani ; 

$fark bize geçen saniyeyi verir. bu farkı 60 a bölersen kaç dakika geçtiğini görürsün. 3600 e bölersen kaç saat geçtiğini görürsün.

Her programcı birgün Php yi tadacaktır
2011-04-06 19:08:22

Php

balistik81tolga akbulut

teşekkürederim mantığını anlattığınız için :)

üstte verdiğim kodu çalıştırdım [ &lt;  ] sorun bunun yüzündenmiş :) görmemişim :)

2011-04-07 02:44:43

phpkodlari.com © 2009 Herkes Php öğrenecek
Eglence ve Oyun: Gamikro