@hypnogaja

Как определить время пользователя в любом регионе через php?

Через JS с помощью следующей функции определяется время без привязки к региону,
function getWeekDay(date) {
    date = date || new Date();
    var days = ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'];
    var day = date.getDay();

    return days[day];
}
var date = new Date();
var nowday = getWeekDay(date);

В PHP же дата на основе серверного времени а не времени пользователя:
$timenow = date("H");
$datetime = date("D");

Каким образом запросить пользовательское время в формате $timenow, а не серверное?
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
Adamos
@Adamos
Никакой информации о часовом поясе пользователя скрипт, исполняющийся на сервере, не имеет.
Более того - она намеренно не предоставляется.
Вы можете попытаться угадать зону по айпишнику, но не удивляйтесь, если будете часто промахиваться, особенно при входе с мобильного интернета.
Вы можете предложить пользователю самому указать эту информацию.
Можете вынести окончательное формирование времени на фронтенд, передавая ее в GMT и преобразуя уже в браузере.
Или просто можете при первом входе юзера запускать JS, определять зону и сообщать ее серверу ;)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы