Задача такая, есть таблица банлиста, в банлисте есть поле с датой истечения бана. В случае если пользователь забанен, ему должно выдаваться количество дней, часов и/или минут до истечения бана. Другими словами, нужно посчитать количество времени с текущего момента, до даты истечения бана. Читал о функциях преобразования даты в MySQL, но так и не сообразил как это реализовать. Как построить такое выражение?
Храните его в секундах. Потом из времени, хранящегося в БД вычитайте время в секундах реальной даты. То, что получилось, пересчитывайте в человекопонятную дату средствами php, в нем есть функции для таких ситуаций.
Зря. По факту можно, но зачем? Те же орехи, только в профиль. ИМХО, работа БД - отдавать инфу. Дальнейшая логика - не ее дело.
Можно. Тебе придется получить текущую дату это не кешируется. Потом вычислять раздницу в секундах потом SEC_TO_TIME. Вроде есть функция для вычисления разницы во времени сам поищи. Если sql не сложный то дерзай.
тебе почти повезло, я недавно разбирался с датами, вот: Код (PHP): $create = date("Y-m-d"); $delete = date("Y-m-d", strtotime($create. ' +55 day')); $remain = ( strtotime($delete) - strtotime ($create) ) / 86400 ; // 55 дней, тут еще желательно округлять, т.к. речь идет о днях - floor() тебе надо только свой формат подставить ну и с делением подшаманить.