Mysql Current Timestamp и time (), показывающие разные значения - PullRequest
0 голосов
/ 21 января 2012

OK. Поэтому я пытался реализовать таймер. Сейчас происходит очень странная вещь, и я не могу понять, почему?

В основном я пытаюсь найти разницу между последним доступом и текущим временем. Я храню время последнего доступа в базе данных. Это значение соответствует времени сервера. Но когда я пытаюсь использовать функцию time () в php, она показывает значения, которые на 5-6 часов отстают от времени, которое у меня есть в базе данных.

Например: вот мой код:

    $t1= strtotime($played_row->timer); // Time from the database with CURRENT_TIMESTAMP

    $t2= strtotime("now"); // Get the current time

Показывает Год: 2012 Месяц: 01 День: 21 - 17:28 для t2

и Год: 2012 Месяц: 01 День: 21 - 22:28 для моих значений меток времени.

Может кто-нибудь сказать, почему это так?

P.S .: Я запускаю код на самом компьютере.

Ответы [ 3 ]

4 голосов
/ 21 января 2012

Я бы сказал, что ваша база данных и PHP используют два разных смещения часового пояса.

2 голосов
/ 21 января 2012

Скорее всего, это проблема часового пояса: если вы находитесь в восточном часовом поясе, вы находитесь в 5 часах от UTC прямо сейчас.Если одна система возвращает местное время, а другая возвращает UTC, это то, что вы увидите.

1 голос
/ 21 января 2012

Попробуйте использовать date_default_timezone_set () , чтобы установить часовой пояс в PHP, который используется в вашей базе данных.

date_default_timezone_set - устанавливает часовой пояс по умолчанию, используемый всеми функции даты / времени в скрипте

Также см. date_default_timezone_get () как получить начальный часовой пояс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...