Bu soru burada zaten bir cevabı var:
- How do I calculate relative time? 31 answers
Bu soru burada zaten bir cevabı var:
Bildiğim kadarıyla, bunu gerçekleştirmek için PHP yerleşik hiçbir işlevi yoktur, ama zaten bu amaç için yazılmış fonksiyonlar var gibi görünüyor yok.
Bir here bunu için gerekenleri yapmak mümkün gibi görünüyor. (Bunu biraz çimdik gerekebilir)
Sen şu işlevini kullanın ve format_interval(time() - $saved_timestamp)
, burada $saved_timestamp
ilgilendiğiniz "olay" damgası olduğu gibi çağırabilirsiniz
function format_interval($timestamp, $granularity = 2) {
$units = array('1 year|@count years' => 31536000, '1 week|@count weeks' => 604800, '1 day|@count days' => 86400, '1 hour|@count hours' => 3600, '1 min|@count min' => 60, '1 sec|@count sec' => 1);
$output = '';
foreach ($units as $key => $value) {
$key = explode('|', $key);
if ($timestamp >= $value) {
$floor = floor($timestamp / $value);
$output .= ($output ? ' ' : '') . ($floor == 1 ? $key[0] : str_replace('@count', $floor, $key[1]));
$timestamp %= $value;
$granularity--;
}
if ($granularity == 0) {
break;
}
}
return $output ? $output : '0 sec';
}