2010-12-15 3 views
5

Я хочу, чтобы у меня было время получить время, используя PHP-скрипт.Определение времени и даты пользователя в PHP

Я не знаю, в каком часовом поясе они будут и т.д.

Есть не способ просто сказать «получить время пользователя», а не настройки часовых поясов?

+2

Как php знать, в какой временной зоне находится человек? –

+2

Это его вопрос. –

ответ

7

Нет. Есть только три способа получить часовой пояс пользователя:

  1. Ask пользователя

  2. Использование JavaScript для проверки времени на стороне клиента и отправить это на ваш сервер с запросом AJAX, cookie и т. д. - работает только в том случае, если JS включен и не работает для первого запроса

  3. Используйте IP-к-размещения базы данных, чтобы найти пользователя и определить их часовой пояс от места - более 5% времени, с какой-либо коммерческой базе данных, ваше местоположение на уровне города будет неправильно

+2

+1 # 2 (JavaScript) - правильный подход. – Asaph

+3

Все подходы полезны, а # 1 является правильным так же часто, как и # 2. Правильность - это контекстно-зависимая концепция! Если кто-то регистрируется и ваше приложение предоставляет отчеты по конкретному времени, вы должны попросить их указать часовой пояс, в котором они хотят отображать отчеты, а не гадать по JavaScript или любым другим способом. Мало того, что JavaScript не всегда доступен, но часовым поясом их компьютера не всегда правильный часовой пояс - путешествие в другую страну, заимствование чужого компьютера, просто неправильное настроение часов и т. Д. –

+3

# 1 лучше, если возможное; javascript часто неверен, но люди обычно знают, где они. –

1

человек, использующий скрипт php.

Это веб-сервер. Если вы имеете в виду человека, запрашивающего скрипт PHP, вы не знаете их часовой пояс, если только они не достаточно хороши, чтобы отправить его вам. Firefox не появляется, хотя некоторые могут.

Ответ здесь - использовать Javascript для получения местного времени и либо делать то, что нужно делать на стороне клиента, либо отправить его на сервер каким-то образом - но это другой вопрос.

5

Нет, нет. Единственное, что вы узнаете о своих пользователях «бесплатно» - это то, что можно сообщить через HTTP protocol, и это не включает «часовой пояс пользователя».

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

Вы: можете попытаться привязать пользователя к геолокации, но это еще менее точно.

Пользователь узнает самого себя, спросите его.