Как найти разницу между временем публикации и текущем временем в MySql?
Есть таблица постов. И нужно отобразить когда было опубликовано, в днях, если меньше одного дня, то отобразить количество часов, если меньше часа, то количество минут. Как найти разницу между датами понятно, а как отображать дни и минуты при необходимости не знаю.
кажись я делал так в запросе. но если ты mysql то вероятнее всего используешь PHP там очень легко получить Unix время, берешь отнимаешь уже в программе. от текущего времени Уникс отнимай время публикации и дели на количество секунд в часе. потом поставь условие если вышло число больше 24 то это число делить на 24 и округлить чтоб написать сколько суток, уже в условии присваивай выводу слово сутки, а не часы.
еще условие можно вначале влупить, меньше 60 разница писать ее как секунды, мешьне 3600 то делить на 60 и писать минуты. и дальше уже часы. это все можно упаковать в один метод.
лучше кейс сделай, проверяй сначала на секунды, потом на минуты, часы и дни. и уже в кейсах дели на количество чтоб определить их количество. еще можно в каждом кейсе остаток о деления перепроверять вложенным кейсом или просто if else уже достаточно и дописывать количество часов минут и секунд. то есть писать опубликовано 40 дней назад 2 часа 12 минут и 32 секунды.
взависимости от контекстного кода, фреймворка или CMS можно по разному красиво это реализовать.
лучше кейс сделай, проверяй сначала на секунды, потом на минуты, часы и дни. и уже в кейсах дели на количество чтоб определить их количество. еще можно в каждом кейсе остаток о деления перепроверять вложенным кейсом или просто if else уже достаточно и дописывать количество часов минут и секунд. то есть писать опубликовано 40 дней назад 2 часа 12 минут и 32 секунды