|
|
|
| Как сделать на сайте временную зону гринвича?
тоесть на сайте будет несколько часовых поясов .... и людям нужно показывать даты по их часовому поясу.
поэтому нужно в базу вносить время гринвича(в секундах) а потом уже добавлять или отнимать ...
или это как то подругому делать нужно? | |
|
|
|
|
|
|
|
для: m@rchello
(15.06.2009 в 14:21)
| | На сервере держать время в секундах ( в полях целого типа таблиц БД)
далее одно из двух:
а) Так секундах дату/время клиенту и отдавать, Человеческую строку даты/времени формировать уже на клиенте , средствами JS
б) C помощью JS получать смещение от гринвича и учитывать его при формировании строки даты/времени на сервере. | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2009 в 14:52)
| | >Так секундах дату/время клиенту и отдавать, Человеческую строку даты/времени формировать уже на клиенте , средствами JS
А почему JS? А на РНР? Ведь JS можно отключить, да и на многих мобильных браузер JS и вовсе нет
Неужели не проще в функцию date() timestamp передать? | |
|
|
|
|
|
|
|
для: mihdan
(15.06.2009 в 16:54)
| | >А почему JS? А на РНР? Ведь JS можно отключить, да и на многих мобильных браузер JS и вовсе нет
По-моему, это миф.
>Неужели не проще в функцию date() timestamp передать?
в функцию date всегда передается именно timestamp
Вопрос в том, как скорректировать (его или саму таймзону) согласно местоположения клиента.
Вы можете без JS, на чистом php, выяснить часовой пояс клиента?
Тогда код в студию. | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2009 в 18:11)
| | Понял вас. Но ведь есть вариант определить по IP при помощи гео-таргетинга | |
|
|
|
|
|
|
|
для: mihdan
(15.06.2009 в 18:18)
| | нет. Это не вариант.
Этот вариант меня постоянно определяет москвичом. Уже года два как. | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2009 в 18:22)
| | Какой у вас IP? | |
|
|
|
|
|
|
|
для: m@rchello
(15.06.2009 в 14:21)
| | Как вариант, в дополнение к Trianon.
И отдавать, человеческую строку даты/времени по Гринвичу, а на стороне клиента, средствами JS, конвертировать с учётом смещения.
Не так гиморно как может показаться. | |
|
|
|
|
|
|
|
для: mikha
(15.06.2009 в 15:07)
| | Вот так Вы как раз запутаетесь на раз-два.
в JS у объекта Date есть метод, формирующий дату из unix-timestamp. Так что гимору неоткуда взяться. | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2009 в 15:11)
| | Я про гимор если делать как я предложил)))
А человеческую дату выдавать сразу на тот случай если JS отключен.
Приходилось так делать..
Страницы форума кешировались, а для того что бы для каждой временной зоны не делать свой кеш, да ещё что бы у посетителя дата подсвечивалась (и выводилась в разном формате), создано вчера, сегодня, в течении часа, прибегать к такому способу. | |
|
|
|
|
|
|
|
для: mikha
(15.06.2009 в 15:16)
| | >А человеческую дату выдавать сразу на тот случай если JS отключен.
и часто у Вас JS отключен? | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2009 в 15:19)
| | Да привык блин, предусматривать всё что только можно)))
Мешает иногда, но ничего с собой поделать не могу.
Всегда делаю что бы и без JS работало как надо. | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2009 в 15:19)
| | Спасибо.=) | |
|
|
|
|
|
|
|
для: m@rchello
(15.06.2009 в 15:29)
| | Ещё вопросик .... а как именно получить на сервере секунды по гринвичу?
по текущей часовой зоне сервера это time() ... а как получить именно по гринвичу? | |
|
|
|
|
|
|
|
для: m@rchello
(15.06.2009 в 15:43)
| | вверх | |
|
|
|
|
|
|
|
для: m@rchello
(15.06.2009 в 15:43)
| | Дык разницу в секундах к time () прибавьте. | |
|
|
|