Relatives Datum ausgeben

Vor allem in sozialen Netzwerken beliebt ist die relative Angabe von Datum und Uhrzeit á la „vor 16 Minuten“.
Mit dieser PHP-Funktion lässt sich ein fester Timestamp relativ ausgeben:

function relDate($date)
{    
    $periods         = array("Sekunden", "Minuten", "Stunden", "Tag", "Wochen", "Monat", "Jahr");
    $lengths         = array("60","60","24","7","4.35","12");
    
    $now             = time();
    $unix_date         = strtotime($date);
    
    if(empty($unix_date)) {    
        return "Ungültiges Datumsformat";
    }

    if($now > $unix_date) {    
        $difference     = $now - $unix_date;
        $tense         = "her";
        
    } else {
        $difference     = $unix_date - $now;
        $tense         = "in der Zukunft";
    }
    
    for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++) {
        $difference /= $lengths[$j];
    }
    
    $difference = round($difference);
    
    if($difference != 1) {
        $periods[$j].= "e";
    }
    
    return "$difference $periods[$j] {$tense}";
}
$date = "2016-11-07 05:18";
$result = relDate($date);
Kommentarbenachrichtigungen
Benachrichtige mich bei
Bitte gib hier Deinen Namen an (benötigtes Feld)
Bitte gib hier Deine E-Mail-Adresse an, diese wird nicht veröffentlicht. (benötigtes Feld)
Wenn Du magst, kannst Du hier Deine Webseite angeben. Diese Information wird veröffentlicht.
Wie bewertest Du den Artikel?
Wie hat Dir der Artikel gefallen? Ich würde mich über eine kurze Bewertung von Dir freuen.
Mit der Nutzung dieses Formulars erklärst Du Dich mit der Speicherung und Verarbeitung Deiner Daten durch diese Webseite einverstanden (benötigtes Feld)
0 Kommentare
Inline Feedbacks
View all comments