Каким образом отследить время "на сервере". То есть у меня есть в БД столбец с типом данных datetime , и значением ( 2015-01-13 18:00:00 ) . Я хочу сделать функцию которая будет менять значение в ячейке если эта дата уже прошла. Коротко говоря, как сравнить время в БД со временем сервера? p.s. не знаю есть ли понятие "время сервера", но думаю смысл понятен, то есть чтобы отталкивалось не от времени на компьютере пользователя.
http://www.mysql.ru/docs/man/Date_and_time_functions.html http://php.net/manual/ru/ref.datetime гуглится же ж! даже как-то странно тыкать носом в такие вещи. нужно "покажите на примерах", да?
Сделал так: Код (Text): if (strtotime($row[date])<strtotime(now)) { } на локальном сервере вроде нормально работает, часовой пояс не тот что на компьютере, то что я и хотел. Надеюсь что у всех пользователей будет одинаковый часовой пояс.
Я почитал на других сайта как сравнить время, и кроме того как переделать значения в метку Unix и сравнить между собой. $row[date] - значение из базы данных NOW - текущее время Все работает, как ни странно) Добавлено спустя 2 минуты 16 секунд: Пока только так могу, не все сразу супер-пупер программистами рождаются. Или по другому говоря "на ошибках учатся"
а, я понял. Ну ты кавычки расставь, и вместо strtotime('now') достаточно time(), а вместо strtotime($row['date']) можно из бд сразу брать числом через UNIX_TIMESTAMP()
да всем пофиг, никто не ругается. включи вывод сообщений об ошибках php, а то так балбесом и останешся. ни php, ни mysql не в курсе какой часовой пояс у пользователя. на стороне сервера ты всегда в одном поясе.