Привет, у меня есть система голосования.Текущее время + 12 часов
Как только человек голосует, у меня есть столбец с именем «nextVote».
Эта колонка будет содержать дату, когда пользователь может проголосовать снова. В этой колонке я смогу повторить, сколько часов/минут ему нужно подождать до голосования.
Это моя попытка:
public final function setNextVote($ip)
{
$this->insert = $this->pdo->prepare("UPDATE auths SET nextVote = NOW() + INTERVAL 12 HOUR WHERE voter_ip = :ip");
$this->insert->execute(array(":ip" => $ip));
}
И то, что он хранит:
2013-05-14 05:56:24
Почему ..
То, что я пытаюсь сделать, это: текущее время + 12 часов.
Если сегодня 2013, 05, 14 и 12:00.
В 12 часов было бы
2013, 05, 14, 24:00 Почему не это делает?
public function getTimeLeft($ip)
{
$this->get = $this->pdo->prepare
("
SELECT TIMESTAMPDIFF(MINUTE, `nextVote`, NOW())
FROM auths
WHERE `voter_ip` = :ip
");
$echo = $this->get->execute(array(":ip" => $ip));
return $echo;
}
Вы имеете в виду через 12 часов это будет 2013-05-15 00:00:00? – Josh
Используется время UNIX, которое является GMT. В настоящее время 18:02 в часовой пояс GMT. Добавив к этому 12 часов, это будет 06:02 утра, что и указывает ваш результат. – Overv
Да. Вот и все. – user2363542