Najlepiej to zrobić po stronie klienta w warstwie prezentacji. Oto rozwiązanie JS:
Timeago to wtyczka jQuery, która ułatwia obsługę automatycznej aktualizacji rozmytych znaczników czasu (np. „4 minuty temu” lub „około 1 dnia temu”).
Timeago zamieni wszystkie elementy abbr z class
timeago i znacznik czasu ISO 8601 w title
:
<abbr class="timeago" title="2008-07-17T09:24:17Z">July 17, 2008</abbr>
w coś takiego:
<abbr class="timeago" title="July 17, 2008">about a year ago</abbr>
Aby przekonwertować datę na format ISO 8601, możesz zrobić coś takiego:
<?= date("c", $post_date) ?>
Przykłady: