2009-02-13 10 views
2

Я использую PHP и mysql.PHP, как установить часовой пояс?

Сценарий:

Форма регистрации требуется только 2 поля. Email и пароль, а затем, первый пользователь, зарегистрированный в Англии, второй пользователь из Китая и т. Д.

Есть ли способ установить часовой пояс автоматически для разных стран пользователей на PHP? Я проверил php.net, но не lucks.

ответ

6

Вы можете попытаться сделать вывод, что их country from their IP, и получить их часовой пояс от этого.

В качестве альтернативы, добавить что-то вроде этого в форму и получить Javascript, чтобы сказать вам смещение часового пояса используется браузером ...

<script language="JavaScript"> 
<!-- 
    var d= new Date(); 
    document.write('<input type="hidden" name="timeZoneOffset" '); 
    if (d) { 
     document.write('value="' + d.getTimezoneOffset()/60 + '">'); 
    } else { 
     document.write('value="n/a">'); 
    } 
// --> 
</script> 
<noscript> 
    <input type="hidden" name="timeZoneOffset" value="n/a"> 
</noscript> 
+0

Спасибо, я попробую. Возможно, я должен начать изучать скрипт на стороне клиента, например javascript .. – roa3

+0

Обратите внимание, что это дает вам смещение-от-UTC * now *; если пользователь живет в регионе с DST, который, конечно, может измениться. – bobince

+0

Я пробовал этот код, и у меня было положительное смещение, когда оно должно было быть отрицательным. Этот код, однако, дал мне гораздо лучший результат: http://bitbucket.org/pellepim/jstimezonedetect – YOMorales

1

Нет, это невозможно через php, поскольку браузер не всегда отправляет эту информацию. В прошлый раз мы решили эту проблему, отправив ajax-вызов и обновив свойство часового пояса сессии, так как у javascript-движка есть есть доступ к этому свойству браузера.

+0

вы имеете в виду, что с помощью JavaScript мы могли бы это сделать? – roa3

Смежные вопросы