Ik wil de tijd net zoals die van Facebook laten zien hoe doe ik deze functie.
Bij minder dan 1 minute "Zojuist" vervolgens 1 min 1uur 1 dag etc laten zien.
Op het moment krijg ik de tijd en datum te zien als "04-12-2014 23:36:50" ik vraag ze aan met $reply_date en $reply_time.
Iemand die weet hoe ik dit voor elkaar krijg of een bestaande script die dit doet ?
function datum($datetime, $maxdays = 13)
{
// huidige datum en tijd en het verschil tussen opgegeven datum en tijd berekenen
$now = new DateTime();
$interval = $datetime->diff($now);
// bereken wanneer de 'volgende dag' begint tov de opgegeven datum en tijd
$midnight = clone $datetime;
$midnight->setTime(0, 0);
$midnight->add(new DateInterval('P1D'));
// daarnaast berekenen we even de tijd zes uur later tov de opgegeven datum en tijd
$sixHrsLater = clone $datetime;
$sixHrsLater->add(new DateInterval('PT6H'));
// als de opgegeven tijd in de toekomst ligt geven we een foutmelding
if($datetime > $now)
return 'Error';
// als de tijd nu in dezelfde dag valt als de opgegeven tijd OF als het verschil minder is als zes uur
if($now < $midnight || $now < $sixHrsLater)
{
$hours = $interval->format('%h');
// indien minder dan een minuut geleden
if($min == 0)
return 'zojuist';
// indien minder dan twee minuten geleden
if($min == 1)
return '1 minuut geleden';
// indien twee of meer minuten geleden
return $min . ' minuten geleden';
}
$days = $interval->format('%a');
// gisteren
if($days == 1)
return 'gisteren';
// Minder dan de opgegeven maximale dagen geleden
if($days <= $maxdays)
return $days . ' dagen geleden';
// indien meer dan maximale opgegeven dagen dan gewoon de datum teruggeven
return $datetime->format('d-m-Y'); // 'd-m-Y H:i' om de tijd erbij te vermelden
}
Zover ik heb kunnen zien is, laat secondes, minuten, uren, dagen, 1 dag verschil is laat gisteren zien, en volgens mij max 13 (te instellen) dagen laten zien anders datum laten zien ?
Daarnaast laat ie niet gelijk gisteren zien als je om 23:55 een bericht aanmaakt en het is nu 0:05. Dan laat ie gewoon zien dat het 10 minuten geleden is. Dit doet ie tot maximaal zes uur. Dan is het inmiddels wel de volgende ochtend en kunnen we gerust zeggen dat het gisteren was