Как рассчитать дни / недели, прошедшие с текущей даты в поле даты и времени mysql - PullRequest
0 голосов
/ 25 ноября 2011

У меня есть поле datatime в mysql, я работаю с php. Как лучше всего рассчитать и представить пользователю, сколько времени прошло с текущего дня до времени в поле? так что подарите мне что-то вроде:

2 days ago ..
2 weeks ago ...

Ответы [ 2 ]

3 голосов
/ 25 ноября 2011

Вы можете использовать функцию SQL DATEDIFF , чтобы включить в оператор SELECT количество прошедших дней.А затем в php конвертируйте дни в недели или месяцы ...

Что-то вроде:

SELECT DATADIFF(date, NOW()) AS daysPassed, ... FROM table

И в php:

$show //the string to display
$days = ... //get the daysPassed value from SQL
if($days > 6)
   $show = $days % 7 + " weeks ago";
else
   $show = $days + " days ago";
1 голос
/ 25 ноября 2011

вы можете использовать функцию DateDiff(CurrentTime, DatabaseTimeField).Это вернет вам разницу между двумя датами в Days.Тогда вы можете использовать это в те дни, чтобы представить разницу пользователям.

например

if(days <= 6)
 displays days
else
 display days%7 weeks
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...