У меня есть php-скрипт, который добавляет время вместе с другими данными в базу данных:

<?php 

$UTC_TIME = gmdate("Y-m-d H:i:s"); //Gives : 2022-01-26 14:11:43

?>

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

Например, если пользователь заходит на страницу из Великобритании, дата и время (2022-01-26 14:11:43) должны быть преобразованы в британское время (это было в то время, когда эти данные были сохранены в базе данных) и отображается.

Я искал много тем в stackoverflow, но не нашел рабочего решения. Спасибо за вашу помощь!

-1
Mr Nano 26 Янв 2022 в 17:22

2 ответа

Лучший ответ

Просто добавьте T и Z

// $UTC_TIME = gmdate("Y-m-d\TH:i:s\Z"); //Gives : 2022-01-26T14:11:43Z
// const time = "<?=$UTC_TIME ?>";
const time = "2022-01-26T14:11:43Z"; // UTC
console.log(new Date(time).toLocaleString()); // my timezone
1
mplungjan 26 Янв 2022 в 18:03
Gmdate("Г-м-д\TH:i:s\Z");
 – 
Abror Abdullaev
26 Янв 2022 в 17:37
1
Спасибо @mplungjan. Это сработало! Большое спасибо!
 – 
Mr Nano
26 Янв 2022 в 17:57
Это не то, что я выложил?
 – 
mplungjan
26 Янв 2022 в 18:01
$UTC_TIME = gmdate("Y-m-d\TH:i:s\Z"); //Gives : 2022-01-26T14:11:43Z

На стороне клиента с js

new Date(date).toLocaleString(); //date is loaded from database
0
Abror Abdullaev 26 Янв 2022 в 17:41
Это похоже на то, что я написал?
 – 
mplungjan
26 Янв 2022 в 18:01