Вы можете использовать функцию 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";