| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > Хранение временных зон в базе |
| Автор: mark2009 12.10.2009, 21:18 |
| Здравствуйте, Меня интересует каким образом хранить и работать с временными зонами в базе? К примеру пользователи регистрируются, но все из разных городов, соответственно время у всех разное. Как всё это свести к одному знаменателю, что говорится? Просьба в исходные коды не отсылать, смотрел у phpBB, но честно говоря недопонял. Просто сам сейчас форум пишу, уже достаточно много сделано, и вот возникла вот эта проблема. Всем спасибо за помощь |
| Автор: SamDark 13.10.2009, 00:08 |
| mark2009, Хранить в том виде, который принимает PHP: http://ru.php.net/manual/en/timezones.php Ни в коем случае не храните отдельно оффсет (+4, -10). Во многих странах нет перехода на летнее/зимнее время, во многих он выполняется не как у всех. |
| Автор: solenko 13.10.2009, 01:01 |
| Ну и, естественно, все timestamp хранить в GMT и преобразовывать уже на стороне php |
| Автор: mark2009 13.10.2009, 05:50 | ||
Эээ... т.е. вы хотите сказать, что поле для временной зоны должно быть varchar и там должна быть строка, которая в скрипте реально преобразуется в оффсет от GMT?
У меня сейчас даты хранятся в том виде, в каком их подаёт функция time(). Это неправильно или не совсем правильно? |
| Автор: SamDark 13.10.2009, 13:47 |
| mark2009, Да. Именно строкой. |
| Автор: sTa1kEr 13.10.2009, 14:53 | ||||
Да уж. За примерами кривой реализации далеко ходить не надо. =/
Специально преобразовывать не нужно, можно воспользоваться классами http://php.net/datetime и http://php.net/datetimezone |