1. psevdo - 26 Января, 2011 - 00:41:29 - перейти к сообщению
приветствую. пишу мультиязычный сай. раньше таких не делал.. сейчас задумал на датами.. то есть нужно чтобы пользователь получал дату в зависимости от часового пояса, в котором он находится.. дата у меня хранится в БД, тип поля mysql timestamp... так вот вопрос собственно в чем. какие функции php мне нужно использоваться, чтобы в будущем не было косяков с временными зонами, високосными годами и летним/зимнем временем7
2. -=1100=- - 26 Января, 2011 - 01:09:42 - перейти к сообщению
Смотрел тут http://php.su/functions/?cat=datetime
3. OrmaJever - 26 Января, 2011 - 02:29:09 - перейти к сообщению
psevdo пишет:
чтобы в будущем не было косяков с временными зонами, високосными годами и летним/зимнем временем7
а причём время к высокосным годам и летнему времени?
А на щётчасовых зон то не всё так просто. Когда пользователь захоит на страницу у него на лбу не написано в коком он часовом поясе... Поэтому нужно чтобы пользователь выбирал сам свой часовой пояс (из выпадающего меню) и затем сохранять на этого пользователя.
Впринципе если есть база даных ip адресов по странам то можно так определять...
4. psevdo - 26 Января, 2011 - 11:27:58 - перейти к сообщению
OrmaJever пишет:
А на щётчасовых зон то не всё так просто. Когда пользователь захоит на страницу у него на лбу не написано в коком он часовом поясе... Поэтому нужно чтобы пользователь выбирал сам свой часовой пояс (из выпадающего меню) и затем сохранять на этого пользователя.
Впринципе если есть база даных ip адресов по странам то можно так определять...
Впринципе если есть база даных ip адресов по странам то можно так определять...
сори.. я немного не уточнил. у меня есть возможность часовой пояс пользователя.
(Добавление)
OrmaJever пишет:
а причём время к высокосным годам и летнему времени?
просто я до этого те то читал, что якобы некоторые функции php неправильно с этим работают...
немогли бы знающие люди написать некий алгоритм по пунктам как организовать работу с этим? то есть мне нужно записывать дату в базу, извлекать и базы и сравнивать даты..
5. annihilus - 26 Января, 2011 - 13:37:41 - перейти к сообщению
Вносите например в БД часовой пояс сервера на котором находиться ваш сайт, вручную или скриптом , не важно. Далее все часовые пояса пользователей сравниваются с этим значением.
Тоесть... на сайте часовой пояс +1 , а у пользователя +3 , вычисляете разницу и прибовляете 2 часа к текущему времени на сервере.
как то так наверно...
Тоесть... на сайте часовой пояс +1 , а у пользователя +3 , вычисляете разницу и прибовляете 2 часа к текущему времени на сервере.
как то так наверно...
6. OrmaJever - 26 Января, 2011 - 13:45:58 - перейти к сообщению
В бд лутше вносить время сервера
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- INSERT INTO `table` (`data_row`, ...) VALUES (NOW(), ...)
А затем для каждого пользователя доставать с определёным интервалом.
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- SELECT date_format(`data_row` - INTERVAL 2 HOUR, "%e %M %H:%i:%s") AS `date` FROM `table`
Так можно взять время -2 часа.
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- SELECT date_format(`data_row` + INTERVAL 3 HOUR, "%e %M %H:%i:%s") AS `date` FROM `table`