PHP: Konvertieren von Zeitstempeln in relatives Datum/Uhrzeit
Relative Zeitstempel geben die Zeit an, die zwischen einem bestimmten Zeitpunkt und dem aktuellen Zeitpunkt verstrichen ist. Sie bieten eine benutzerfreundlichere Darstellung der Zeit als absolute Zeitstempel, insbesondere für Ereignisse, die in der Vergangenheit aufgetreten sind oder in der Zukunft auftreten werden.
Um relative Zeitstempel in PHP zu generieren, sollten Sie die Verwendung der folgenden Funktion in Betracht ziehen:
function time2str($ts) { if (!ctype_digit($ts)) { $ts = strtotime($ts); } $diff = time() - $ts; if ($diff == 0) { return 'now'; } elseif ($diff > 0) { // Past timestamps $day_diff = floor($diff / 86400); if ($day_diff == 0) { if ($diff < 60) { return 'just now'; } elseif ($diff < 120) { return '1 minute ago'; } elseif ($diff < 3600) { return floor($diff / 60) . ' minutes ago'; } elseif ($diff < 7200) { return '1 hour ago'; } elseif ($diff < 86400) { return floor($diff / 3600) . ' hours ago'; } } elseif ($day_diff == 1) { return 'Yesterday'; } elseif ($day_diff < 7) { return $day_diff . ' days ago'; } elseif ($day_diff < 31) { return ceil($day_diff / 7) . ' weeks ago'; } elseif ($day_diff < 60) { return 'last month'; } else { return date('F Y', $ts); } } else { // Future timestamps $diff = abs($diff); $day_diff = floor($diff / 86400); if ($day_diff == 0) { if ($diff < 120) { return 'in a minute'; } elseif ($diff < 3600) { return 'in ' . floor($diff / 60) . ' minutes'; } elseif ($diff < 7200) { return 'in an hour'; } elseif ($diff < 86400) { return 'in ' . floor($diff / 3600) . ' hours'; } } elseif ($day_diff == 1) { return 'Tomorrow'; } elseif ($day_diff < 4) { return date('l', $ts); } elseif ($day_diff < 7 + (7 - date('w'))) { return 'next week'; } elseif (ceil($day_diff / 7) < 4) { return 'in ' . ceil($day_diff / 7) . ' weeks'; } elseif (date('n', $ts) == date('n') + 1) { return 'next month'; } else { return date('F Y', $ts); } } }
Diese Funktion akzeptiert einen Zeitstempel und gibt einen relativen Zeitstempel aus. Es verarbeitet sowohl vergangene als auch zukünftige Zeitstempel und liefert Ausgaben in verschiedenen Formaten, z. B. „vor 1 Stunde“ oder „in 2 Tagen“.
Das obige ist der detaillierte Inhalt vonWie konvertiert man Zeitstempel in PHP in relatives Datum/Uhrzeit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!