Я пытаюсь создать script для викторины. Я сохранил текущую временную метку в БД MySQL в качестве времени начала викторины и хочу проверить после каждой викторины, сколько времени осталось.
У меня есть идея, что я добавлю 30 минут к сохраненной отметке времени и вычту это значение из текущего времени. Это будет оставшееся время. Но я не знаю, как это сделать.
Моя отметка времени сохраняется в БД в формате 2010-08-24 20:08:59. У любой есть идея.
Пожалуйста, дайте мне знать, если кто-то это сделал, или знаете, как его получить.
Добавление 30 минут к отметке времени и показ пользователю, сколько осталось времени.
Я использую функцию now() для хранения метки времени в DB.
Спасибо
Я лично сохранил вывод PHP time() в базе данных.
Если вы читаете человеческий формат из этого значения, вы можете использовать date('Y-m-d H:i:s', $fromdatabase);
.
Вы хотите сохранить фактическую временную метку UNIX в базе данных, а не строку в этом формате.
Вы можете или не можете делать это уже, это зависит от типа столбца, который вы используете. Для MySQL вы должны использовать TIMESTAMP
, который позволяет вам получить метку времени с помощью
SELECT UNIX_TIMESTAMP(column_name) ...
Чтобы сохранить текущее время + 30 минут, все, что вам нужно сделать, это:
INSERT INTO table (column_name) VALUES(UNIX_TIMESTAMP() + 1800)
Вы можете узнать, истекло ли время, сравнивая time()
со значением столбца.