Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Время по гринвичу ...
 
 автор: m@rchello   (15.06.2009 в 14:21)   письмо автору
 
 

Как сделать на сайте временную зону гринвича?
тоесть на сайте будет несколько часовых поясов .... и людям нужно показывать даты по их часовому поясу.
поэтому нужно в базу вносить время гринвича(в секундах) а потом уже добавлять или отнимать ...
или это как то подругому делать нужно?

  Ответить  
 
 автор: Trianon   (15.06.2009 в 14:52)   письмо автору
 
   для: m@rchello   (15.06.2009 в 14:21)
 

На сервере держать время в секундах ( в полях целого типа таблиц БД)
далее одно из двух:
а) Так секундах дату/время клиенту и отдавать, Человеческую строку даты/времени формировать уже на клиенте , средствами JS
б) C помощью JS получать смещение от гринвича и учитывать его при формировании строки даты/времени на сервере.

  Ответить  
 
 автор: mihdan   (15.06.2009 в 16:54)   письмо автору
 
   для: Trianon   (15.06.2009 в 14:52)
 

>Так секундах дату/время клиенту и отдавать, Человеческую строку даты/времени формировать уже на клиенте , средствами JS

А почему JS? А на РНР? Ведь JS можно отключить, да и на многих мобильных браузер JS и вовсе нет
Неужели не проще в функцию date() timestamp передать?

  Ответить  
 
 автор: Trianon   (15.06.2009 в 18:11)   письмо автору
 
   для: mihdan   (15.06.2009 в 16:54)
 

>А почему JS? А на РНР? Ведь JS можно отключить, да и на многих мобильных браузер JS и вовсе нет

По-моему, это миф.

>Неужели не проще в функцию date() timestamp передать?
в функцию date всегда передается именно timestamp
Вопрос в том, как скорректировать (его или саму таймзону) согласно местоположения клиента.
Вы можете без JS, на чистом php, выяснить часовой пояс клиента?
Тогда код в студию.

  Ответить  
 
 автор: mihdan   (15.06.2009 в 18:18)   письмо автору
 
   для: Trianon   (15.06.2009 в 18:11)
 

Понял вас. Но ведь есть вариант определить по IP при помощи гео-таргетинга

  Ответить  
 
 автор: Trianon   (15.06.2009 в 18:22)   письмо автору
 
   для: mihdan   (15.06.2009 в 18:18)
 

нет. Это не вариант.
Этот вариант меня постоянно определяет москвичом. Уже года два как.

  Ответить  
 
 автор: mihdan   (15.06.2009 в 18:26)   письмо автору
 
   для: Trianon   (15.06.2009 в 18:22)
 

Какой у вас IP?

  Ответить  
 
 автор: mikha   (15.06.2009 в 15:07)   письмо автору
 
   для: m@rchello   (15.06.2009 в 14:21)
 

Как вариант, в дополнение к Trianon.
И отдавать, человеческую строку даты/времени по Гринвичу, а на стороне клиента, средствами JS, конвертировать с учётом смещения.
Не так гиморно как может показаться.

  Ответить  
 
 автор: Trianon   (15.06.2009 в 15:11)   письмо автору
 
   для: mikha   (15.06.2009 в 15:07)
 

Вот так Вы как раз запутаетесь на раз-два.
в JS у объекта Date есть метод, формирующий дату из unix-timestamp. Так что гимору неоткуда взяться.

  Ответить  
 
 автор: mikha   (15.06.2009 в 15:16)   письмо автору
 
   для: Trianon   (15.06.2009 в 15:11)
 

Я про гимор если делать как я предложил)))
А человеческую дату выдавать сразу на тот случай если JS отключен.
Приходилось так делать..
Страницы форума кешировались, а для того что бы для каждой временной зоны не делать свой кеш, да ещё что бы у посетителя дата подсвечивалась (и выводилась в разном формате), создано вчера, сегодня, в течении часа, прибегать к такому способу.

  Ответить  
 
 автор: Trianon   (15.06.2009 в 15:19)   письмо автору
 
   для: mikha   (15.06.2009 в 15:16)
 

>А человеческую дату выдавать сразу на тот случай если JS отключен.
и часто у Вас JS отключен?

  Ответить  
 
 автор: mikha   (15.06.2009 в 15:25)   письмо автору
 
   для: Trianon   (15.06.2009 в 15:19)
 

Да привык блин, предусматривать всё что только можно)))
Мешает иногда, но ничего с собой поделать не могу.
Всегда делаю что бы и без JS работало как надо.

  Ответить  
 
 автор: m@rchello   (15.06.2009 в 15:29)   письмо автору
 
   для: Trianon   (15.06.2009 в 15:19)
 

Спасибо.=)

  Ответить  
 
 автор: m@rchello   (15.06.2009 в 15:43)   письмо автору
 
   для: m@rchello   (15.06.2009 в 15:29)
 

Ещё вопросик .... а как именно получить на сервере секунды по гринвичу?
по текущей часовой зоне сервера это time() ... а как получить именно по гринвичу?

  Ответить  
 
 автор: m@rchello   (15.06.2009 в 16:27)   письмо автору
 
   для: m@rchello   (15.06.2009 в 15:43)
 

вверх

  Ответить  
 
 автор: mikha   (15.06.2009 в 18:06)   письмо автору
 
   для: m@rchello   (15.06.2009 в 15:43)
 

Дык разницу в секундах к time () прибавьте.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования