Как я могу получить время на стороне клиента?
Когда я использую date()
, он возвращает время сервера.
Как я могу получить локальное время пользователя вместо времени сервера?
Ответ 1
Как уже упоминалось, каждый PHP отображает время на стороне сервера.
Для клиентской стороны вам нужен Javascript, что-то вроде следующего должно сделать трюк.
var currentTime = new Date();
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();
if (minutes < 10) {
minutes = "0" + minutes;
}
document.write("<b>" + hours + ":" + minutes + " " + "</b>");
И если вам нужен суффикс AM/PM, то должно работать следующее:
var currentTime = new Date();
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();
var suffix = "AM";
if (hours >= 12) {
suffix = "PM";
hours = hours - 12;
}
if (hours == 0) {
hours = 12;
}
if (minutes < 10) {
minutes = "0" + minutes;
}
document.write("<b>" + hours + ":" + minutes + " " + suffix + "</b>");
Вот список дополнительных функций JavaScript Date
и Time
, с которыми вы могли бы общаться.
Ответ 2
Здесь "PHP" решение:
echo '<script type="text/javascript">
var x = new Date()
document.write(x)
</script>';
Ответ 3
Вы можете использовать Geolocation по IP-адресу, чтобы определить, в какой стране находится пользователь, и затем использовать его.
Но использование Javascript или разрешение пользователю выбрать часовой пояс, вероятно, будет лучше.
Ответ 4
Поскольку PHP работает на стороне сервера, , вы не можете получить доступ к времени на стороне клиента из PHP: PHP мало знает о браузере - и вы можете иметь скрипты PHP, которые работают без вызывается из браузера.
Но вы можете получить его из Javascript (который выполняется на стороне клиента), а затем передать его на PHP через запрос Ajax, например.
И вот несколько вопросов + ответы, которые могут помочь вам начать:
Ответ 5
PHP - это серверная сторона, насколько я знаю.
Возможно, вы захотите использовать JavaScript.
Ответ 6
Вы можете использовать наш geoip API, который отображает текущее время требуемого IP вместе с другой информацией, связанной с часовым поясом. Просто зайдите на https://smartip.io и зарегистрируйтесь, чтобы получить бесплатный ключ API, который позволяет обрабатывать 250 000 IP-запросов в месяц на уровне Free. Вот как легко использовать наш API:
$.ajax ({
type: "GET",
url:"https://smartip.io/api/112.126.34.5/?api_key=[YOUR_API_KEY]",
success: function(response) { alert(response); }
});
Объект ответа будет содержать необходимую вам информацию о часовом поясе, а также много другой информации:
"timezone": {
"iana-name": "America/New_York",
"microsoft-name": "Eastern Standard Time",
"date-time": "2019-07-05T20:54:23-05:00",
"is-daylight-saving": true,
"gmt-offset": -18000
}