R10 Yaşı kavramını yapılsın diye teklif geldi arkadaşlardan onu hayata geçirdik.
Vbulletin db'ye joindate diye timestamp degerini ekliyor.
Ekrana basarken biraz daha fonksiyonel olsun istiyorum. Elinde Aşağıdaki örnek gibi yapabilecegimiz kod olan varsa paylaşırsa çok memnun olurum.
Sadece gün
Ay + gün
Yıl + Ay formatında yani:
R10 Yaşı: 19 Gün
R10 Yaşı: 2 ay 11 Gün
R10 Yaşı: 1 yıl 4 Ay
Diğer arkadaşlar yazmışlar ama, bi fonksiyonda benden olsun:
//fonksiyon(kayıt tarihi, saniye gösterimi=1, bitiş tarihi);
function sure_fark( $kayit='', $saniye=0, $simdi=''){
$simdi = ($simdi) ? $simdi : time();
$fark = $simdi - $kayit;
$fark_yy = floor($fark / 31536000);
$fark %= 31536000;
$fark_mm = floor($fark / 2592000);
$fark %= 2592000;
$fark_dd = floor($fark / 86400);
$fark %= 86400;
$fark_hh = floor($fark / 3600);
$fark %= 3600;
$fark_min = floor($fark / 60);
$fark %= 60;
$fark_ss = $fark;
if($fark_yy > 0){$str = '%d yıl '; $arg[] = $fark_yy;}
if($fark_mm > 0){$str .= '%d ay '; $arg[] = $fark_mm;}
if($fark_dd > 0){$str .= '%d gün '; $arg[] = $fark_dd;}
if($fark_hh > 0){$str .= '%d saat '; $arg[] = $fark_hh;}
if($fark_min > 0){$str .= '%d dakika '; $arg[] = $fark_min;}
if($fark_ss > 0 && $saniye > 0){$str .= '%d saniye '; $arg[] = $fark_ss;}
$str .= ' önce';
return vsprintf($str,$arg);
}Örnek kullanımı:
$kayit = 1331581669;
echo sure_fark($kayit); //1 yıl 8 ay 8 gün 2 dakika
echo '<br />';
$kayit = strtotime('2013-11-14 15:30:44');
echo sure_fark($kayit); //1 gün 6 saat 19 dakika
echo '<br />';
$kayit = strtotime('2013-11-14 15:30:44');
echo sure_fark($kayit,1); //1 gün 6 saat 19 dakika 57 saniye
echo '<br /><br />';
$kayit = strtotime('2013-11-15 15:30:44');
echo sure_fark($kayit); //6 saat 24 dakika önce