<?php function formatTime(int $timestamp): string { // Текущее время $now = time(); // Разница во времени $difference = $now - $timestamp; // Склоняем падежи $declension = function (int $number, string $oneForm, string $twoFourForm, string $manyForm): string { $lastDigit = $number % 10; $isException = $number % 100 >= 11 && $number % 100 <= 19; if ($lastDigit == 1 && !$isException) { return "$number $oneForm"; } elseif ($lastDigit >= 2 && $lastDigit <= 4 && !$isException) { return "$number $twoFourForm"; } else { return "$number $manyForm"; } }; // Проверяем периоды времени if ($difference < 1) { return 'только что'; } elseif ($difference < 60) { return $declension($difference, 'секунду', 'секунды', 'секунд') . ' назад'; } elseif ($difference < 3600) { return $declension(intdiv($difference, 60), 'минуту', 'минуты', 'минут') . ' назад'; } elseif ($difference < 86400) { return $declension(intdiv($difference, 3600), 'час', 'часа', 'часов') . ' назад'; } elseif ($difference < 86400 * 2) { return 'Вчера в ' . date('H:i', $timestamp); } else { return date('d.m.Y в H:i', $timestamp); } }