MySQL & PHP: различия в работе unix_timestamp() и time()

Опубликовал mvs3d | Дата 24.04.2008 – 23:24 |

Сейчас столкнулся с тем, что функции MySQL и PHP которые по-идее должны возвращать одинаковые значения (количество секунд, прошедшее с начала UNIX-эпохи) на самом деле отличаются ровно на 1 час.

Видимо это связано с тем что сейчас идет летнее время, и у меня в Windows XP выбрана часовая зона с поддержкой летнего времени. Такой вывод я сделал потому, что раньше оно не глючило а изменилось тока то что у меня летнее время приключилось.

У меня сломался код, где я читаю поле из базы, которое заполняется функцией unix_timestamp(), и затем передаю это значение в PHP-функцию date(). В итоге имеем час расхождения (+1 час). Пришлось сделать тупой хак (код сильно править не хотелось), – читаю из базы не значение поля а результат его обработки в from_unixtime() а затем, эту строку привожу к unixtimestamp PHP-функцией strtotime().

Вывод: лучше все присвоения “текущей даты” в базу делать из PHP, меньше вероятность что вы наткнетесь на что-то такое, странное.

Проверялось на PHP версий 4.3.11 и 5.2.1, MySQL версии 4.1.11-nt

  1. Один комментарий к “MySQL & PHP: различия в работе unix_timestamp() и time()”

  2. edgar - Дек 7, 2009 | Ответить

    int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]] )

    Аргумент is_dst может быть установлен в 1, если заданной дате соответствует летнее время, 0 в противном случае, или -1 (значение по умолчанию), если неизвестно, действует ли летнеее время на заданную дату. В последнем случае PHP пытается определить это самостоятельно. Это можно привести к неожиданному результату (который, тем не менее, не будет неверным).

    Замечание: Аргумент is_dst был добавлен в версии 3.0.10.

Оставить комментарий или два

Об авторе

Меня зовут Владимир. Я живу в России, в г.Тольятти Самарской области. C 2004 года активно занимаюсь Web-разработками. Интересуюсь развитием сервисов Сети, технологиями создания и продвижения Интернет-ресурсов, компьютерными железками.. и не только ;)

Подпишись на обновления!

 RSS-канал / Email-рассылка
Поиск :