Возможный дубликат:
PHP: Есть ли функция, которая преобразует строку даты в читаемый человеком формат?
У меня есть таблица mysql со структурой следующим образом:
таблица: лица column1: имя varchar (60) column2: оценка int (11) column3: время и время (60)
У меня есть форма, которая вставляет данные в эту таблицу: имя, оценка и текущую временную метку (NOW ()), используя php. Все данные отображаются в столбце «время» в порядке убывания.
Моя дилемма заключается в том, как сравнить время в «столбце времени» с текущим временем и отображением в человекообразном формате, например «5 минут назад» или «2 часа назад», используя php. Есть ли какая-либо функция, чтобы найти разницу во времени в php напрямую? или я должен использовать javascript?
Хотя этот сайт больше подходит для «энтузиастов», а не «программистов», я бы ответил так:
Почему бы не попытаться написать такую функцию самостоятельно?
Это не будет слишком сложно, и это может быть хорошей практикой.
Что ты говоришь?
Я предлагаю вам взглянуть на функции Symfony DateHelper. Вы должны иметь возможность использовать эти функции вне рамок Symfony, и они неплохо отображают диапазон дат и различия.
Исходный код:
http://trac.symfony-project.org/browser/branches/1.4/lib/helper/DateHelper.php
Вы можете использовать функцию MySQL TIMEDIFF, чтобы получить разницу, а затем написать простую функцию PHP для ее анализа в соответствующем человеко-читаемом выходе.
Или загрузите два значения datetime в класс PHP DateTime, а затем используйте метод diff (), чтобы вернуть класс DateInterval .