"Система банов"

Nexus_Noob

Новичок
Доброго времени суток.
Я хочу реализовать возможность давать пользователям ресурса бан на определенный промежуток времени.
В бд будет записываться время окончания бана и id пользователя, который получил бан.
Я хотел спросить, как можно реализовать "отчет времени нахождения в бане"?
Я хочу переводить текущую дату в секунды, переводить срок бана в секунды, суммировать текущую дату в секундах со сроком бана в секундах, после чего ответ переводить в года, месяца, дни, часы, минуты и секунды, после чего время окончания бана записывать в бд.

Можно ли как-нибудь упростить этот процесс или как сделать лучше?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
не заниматься фигней и просто вписать юзеру в поле ban_end_date данные в формате datetime со сроком окончания бана. Дальше смотреть, если текущее время меньше, чем срок окончания бана - посылать юзера нафиг
 
  • Like
Реакции: Frey

Nexus_Noob

Новичок
не заниматься фигней и просто вписать юзеру в поле ban_end_date данные в формате datetime со сроком окончания бана. Дальше смотреть, если текущее время меньше, чем срок окончания бана - посылать юзера нафиг
можно подробнее о datetime?
В каком формате вносить datetime в бд?
Значение datetime будет иметь типе string, как сравнивать строки?
 

Nexus_Noob

Новичок
Всем спасибо за помощь, ответьте, пожалуйста, ещё на 1 вопрос:
Как можно посчитать, сколько юзеру еще находится в "бане"?
DATE_SUB не удается использовать.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Что значит не удается использовать? При чем тут вообще DATE_SUB? Есть TIMESTAMPDIFF.
 
Сверху