использование функции localtime для получения локального времени пользователей в переполнении стека

Я пытаюсь найти способ получить местное время пользователя с помощью php, а не полагаться на часовой пояс, установленный в php.ini, Я нашел функцию localtime(), но это не работает, оно все еще дает мне время, основанное на часовом поясе, установленном в php.ini, Я начинаю верить, что местное время недоступно при использовании сценария на стороне сервера, как это возможно при использовании сценария на стороне клиента, ниже приведено то, что я пробовал, но не работает. Спасибо за прочтение

$time = localtime(time(),true);

$h = $time['tm_hour'];
$m = $time['tm_min'];
$s = $time['tm_sec'];

$localTime = $h.":".$m.":".$s;

0

Решение

Если вы не можете определить местонахождение пользователя и располагаете базой данных, которая отображает эту информацию в часовом поясе, вам обычно не везет.

Однако, если вы находитесь в html-контексте, вы можете получить запрошенную информацию, используя javascript (и отправить ее обратно на сервер):

var x = new Date();
var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;

Читать дальше @ MDN

Используя эту информацию, вы можете построить местное время пользователей на стороне сервера, используя основные функции даты.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]