Próbuję przekonwertować znacznik czasu formatu 2009-09-12 20:57:19
i przekształcić go w coś podobnego 3 minutes ago
do PHP.
Znalazłem przydatny skrypt do tego, ale myślę, że szuka innego formatu, który mógłby być użyty jako zmienna czasowa. Skrypt, który chcę zmodyfikować do pracy z tym formatem to:
function _ago($tm,$rcs = 0) {
$cur_tm = time();
$dif = $cur_tm-$tm;
$pds = array('second','minute','hour','day','week','month','year','decade');
$lngh = array(1,60,3600,86400,604800,2630880,31570560,315705600);
for($v = sizeof($lngh)-1; ($v >= 0)&&(($no = $dif/$lngh[$v])<=1); $v--); if($v < 0) $v = 0; $_tm = $cur_tm-($dif%$lngh[$v]);
$no = floor($no);
if($no <> 1)
$pds[$v] .='s';
$x = sprintf("%d %s ",$no,$pds[$v]);
if(($rcs == 1)&&($v >= 1)&&(($cur_tm-$_tm) > 0))
$x .= time_ago($_tm);
return $x;
}
Myślę, że w pierwszych kilku wierszach skrypt próbuje zrobić coś, co wygląda następująco (inna matematyka w formacie daty):
$dif = 1252809479 - 2009-09-12 20:57:19;
Jak powinienem przekonwertować znacznik czasu na ten (uniksowy) format?