Есть ли способ узнать часовой пояс посетителей на PHP?
Вы можете сопоставить пользовательский IP-адрес с базой данных GeoIP, чтобы извлечь его регион. Также проверьте этот API http://www.ipinfodb.com/ip_location_api.php
Вы не можете сделать это в одиночку с PHP, поскольку эта информация недоступна. Однако, если вы знаете местоположение пользователя, вы можете выполнить некоторую геолокацию и определить вероятный часовой пояс.
Вам нужна помощь javascript. Я googled следующий фрагмент JS, который возвращает смещение часового пояса клиента:
var tzo=(new Date().gettimezoneoffset()/60)*(-1);
Отсюда вы можете установить cookie с JS, доступным с PHP. Альтернативно, вы можете получить эту информацию с помощью ajax-вызова.