Facebook Tarzı Anlık Geçen Süre

Facebooktaki gibi geçen zamanı anlık olarak görebilirsiniz.

Öncelikle jquery ve timeago kütüphanelerini script tagı ile çağırmalısınız.

Markdown
2 lines
https//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js
http://timeago.yarp.com/jquery.timeago.js
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Hemen altına script tagı içerisinde bu kodları ekleyin.

JavaScript
31 lines
$.extend($.timeago, {
settings: {
refreshMillis: 1000,
allowPast: true,
allowFuture: false,
localeTitle: false,
cutoff: 0,
strings: {
prefixAgo: null,
prefixFromNow: null,
suffixAgo: "önce",
suffixFromNow: "şimdi",
inPast: 'sonra',
seconds: "%d saniye",
minute: "1 dakika",
minutes: "%d dakika",
hour: "1 saat",
hours: "%d saat",
day: "1 gün",
days: "%d gün",
month: "1 ay",
months: "%d ay",
year: "1 yıl",
years: "%d yıl",
wordSeparator: " ",
numbers: []
}
}});
jQuery(document).ready(function() {
jQuery("abbr.timeago").timeago();
});
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Görünmesini istediğiniz yerde ise bu kodu kullanabilirsiniz.

PHP
1 lines
<abbr class="timeago" title="<?php echo date("c", time()); ?>">Hesaplanıyor</abbr>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Detaylı Geçen Süre veya Kalan Süre Hesaplamak

Örneğin

Markdown
1 lines
1 yıl 3 ay 2 hafta 1 gün 3 saat 2 dakika 3 saniye
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

gibi bir çıktı verir.

PHP
37 lines
<?php
function ne_zaman($zaman,$gecensure=true){//$zaman time() int[11].
$day = 60 * 60 * 24;//default
if($gecensure==true){//geçenzaman
$fark = floor(time() - $zaman);//default
}else{//false ise kalanzaman
$fark = ($zaman - floor(time());
}
$sec = $day / 24 / 60 / 60 ;
$min = $day / 24 / 60 ;
$hour = $day / 24 ;
$day = $day ;
$week = $day * 7 ;
$month = $day * 30 ;
$year = $day * 365 ;
// [ayrışık tam ve detaylı olarak tümünü verir][1 yıl 3 ay 2 hafta 1 gün 3 saat 2 dakika 3 saniye gibi]
if(floor($fark / $year) > 0){$ayear= floor($fark / $year);$fark=$fark -(floor($fark / $year) * $year);}else{$ayear=0;}
if(floor($fark / $month) > 0){$amonth= floor($fark / $month);$fark=$fark -(floor($fark / $month) * $month);}else{$amonth=0;}
if(floor($fark / $week) > 0){$aweek= floor($fark / $week);$fark=$fark -(floor($fark / $week) * $week);}else{$aweek=0;}
if(floor($fark / $day) > 0){$aday= floor($fark / $day);$fark=$fark -(floor($fark / $day) * $day);}else{$aday=0;}
if(floor($fark / $hour) > 0){$ahour= floor($fark / $hour);$fark=$fark -(floor($fark / $hour) * $hour);}else{$ahour=0;}
if(floor($fark / $min) > 0){$amin= floor($fark / $min);$fark=$fark -(floor($fark / $min) * $min);}else{$amin=0;}
if(floor($fark / $sec) > 0){$asec= floor($fark / $sec);$fark=$fark -(floor($fark / $sec) * $sec);}else{$asec=0;}
//print
$print = "";
$ayear > 0 ? $print.=$ayear." yıl ": "";
$amonth > 0 ? $print.=$amonth." ay ": "";
$aweek > 0 ? $print.=$aweek." hafta ": "";
$aday > 0 ? $print.=$aday." gün ": "";
$ahour > 0 ? $print.=$ahour." saat ": "";
$amin > 0 ? $print.=$amin." dakika ": "";
$asec > 0 ? $print.=$asec." saniye ": "";
if($gecensure==true){//geçenzaman
return $print." önce";
}else{//false ise kalanzaman
return $print." sonra";
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX