Здравствуйте. Я делаю систему оповещений и есть задача сделать следующее: узнать, когда пришло уведомление. То есть: 1 минуту назад/16 часов назад и т.д. Я сделал алгоритм, но показывает неверное время. Тестовое оповещение было отправлено 5 минут назад, но показывает 9 часов назад. Почему? Алгоритм скрипта:
Вот код:
$fromdb = '1503737539'; //Допустим, что тут мы получили время из БД.
//Этот timestamp - 5 минут ранее моего текущего времени.
$curr = new DateTime();
$got2 = new DateTime(date('Y-m-d',$fromdb));
$interval = $curr->diff($got2);
echo $interval->format('%d')." days ".$interval->format('%h')." Hours ".$interval->format('%i')." Minutes ".$interval->format('%s')." Seconds";
$fromdb = '1503762701';
$curr = new DateTime();
$got2 = new DateTime();
$got2->setTimestamp($fromdb);
$interval = $curr->diff($got2);
echo $interval->format("Прошло: %d дней, %h часов, %i минут и %s секунд\n");
Вы переводили unix время в формат год, месяц, день но не указывали часы, минуты и секунды
Сборка персонального компьютера от Artline: умный выбор для современных пользователей