PHP interesse |
|
$date is in seconden, dus seconden zijn makkelijk en voor zover ik weet bestaat "else if" niet in PHP, maar moet het "elseif" zijn. Als het goed is klopt het zo wel?
function relative_time($date)
{
$date = time() - strtotime($date);
if ($date < 60) {
return $date . ' seconden geleden';
} elseif($date == 60) {
return '1 minuut geleden';
} elseif($date > 60 && $date < 120) {
return '1 minuut en ' . $date-60 . ' seconden geleden';
} elseif($date < (60*60)) {
return (int)($date / 60).' minuten geleden';
} elseif($date < (120*60)) {
return '1 uur geleden';
} elseif($date < (24*60*60)) {
return (int)(($date) / 3600).' uren geleden';
} elseif($date < (48*60*60)) {
return '1 dag geleden';
} elseif($date < (168*60*60)) { // 168 uur = 7 dagen
return (int)($date / 86400). ' dagen geleden';
} elseif($date >= (168*60*60) && $date < (744*60*60)) { // dit kan je weglaten
return (int)($date / 2678400). ' weken geleden';
} elseif($date >= (744*60*60) && $date <= (8760*60*60) { // een of meer maanden, maar minder dan een jaar
return (int)($date / 2629743.83). ' maanden geleden';
} else { // anders is het altijd in jaren
return (int)($date / 31556926). ' jaren geleden';
}
}
function relative_time($date) { if ($date < 60) { return $date . ' seconden geleden'; } elseif($date == 60) { return '1 minuut geleden'; } elseif($date > 60 && $date < 120) { return '1 minuut en ' . $date-60 . ' seconden geleden'; } elseif($date < (60*60)) { return (int)($date / 60).' minuten geleden'; } elseif($date < (120*60)) { return '1 uur geleden'; } elseif($date < (24*60*60)) { return (int)(($date) / 3600).' uren geleden'; } elseif($date < (48*60*60)) { return '1 dag geleden'; } elseif($date < (168*60*60)) { // 168 uur = 7 dagen return (int)($date / 86400). ' dagen geleden'; } elseif($date >= (168*60*60) && $date < (744*60*60)) { // dit kan je weglaten return (int)($date / 2678400). ' weken geleden'; } elseif($date >= (744*60*60) && $date <= (8760*60*60) { // een of meer maanden, maar minder dan een jaar return (int)($date / 2629743.83). ' maanden geleden'; } else { // anders is het altijd in jaren return (int)($date / 31556926). ' jaren geleden'; } }
Dit is precies op dezelfde manier als jij het deed, met het aantal seconden van Google gehaald (Google.be: 1 year in seconds). |