PHP ini date.timezone? Часовой пояс сервера или клиента? - PullRequest
5 голосов
/ 12 февраля 2010

Я знаю, что это может показаться глупым вопросом, но я не нашел в документации PHP где-то, где они заявляют громко и ясно.

У меня есть веб-приложение.

Пользователи моих веб-приложений находятся в Европе , но сервер , на котором запущено веб-приложение, находится в США .

Как мне установить директиву date.timezone php ini ???

Я полагаю, где находится сервер, так что если он находится в Нью-Йорке: date.timezone = "America / New_York"

Но я прав?

Ответы [ 3 ]

2 голосов
/ 09 июня 2010

Согласно тому, что я читал здесь на SO, ответы:

  1. установить PHP директива ini date.timezone к "UTC" (т.е. 0)
  2. пусть PHP печатает на страницах дату и время (UTC) в виде простой метки времени Unix (число)
  3. позволяет Javacscript преобразовать метку времени UTC Unix в время клиента, просто выполнив:

    новая дата (<? Php echo DATE_TIME_SERVER_UTC;?> * 1000);

2 голосов
/ 12 февраля 2010

Я думаю, что лучше установить локальный часовой пояс сервера или UTC и изменить часовой пояс пользователя в скрипте, используя http://pl.php.net/manual/en/function.date-default-timezone-set.php Вы можете установить часовой пояс в Европе / sth или вычислить его для каждого клиента, используя GeoIP или JavaScript (это должно быть возможно)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...