- time: documentation ( source)
- round: documentation ( source)
- date_default_timezone_set: documentation ( source)
- date: documentation ( source)
<?php
date_default_timezone_set('Europe/Moscow');
function humanTimeAgo(int $time)
{
if ($time < 0) {
return false;
}
$difference = time() - $time;
if ($difference < 0) {
return false;
}
$hours = round($difference / 3600);
if ($hours < 1) {
return date('i минут назад', $difference);
}
if ($hours < 24) {
return $hours . ' часов назад';
}
return date('d.m.Y в H:i', $time);
}
echo humanTimeAgo(time() - 24*3600 - 10*60); // 1 день и 10 минут назад
echo "\n";
echo humanTimeAgo(time() - 23*3600 - 20*60); // 23 часа 20 минут назад
echo "\n";
echo humanTimeAgo(time() - 10*60); // 10 минут назад