Как получить серверное время с помощью JS И PHP?

#javascript #php

Вопрос:

Я создаю сайт, где я получаю время с сервера на php, а затем передаю его в переменную JS, чтобы выполнить некоторые другие действия.

Это мой пример того, что у меня есть:

Clock.php файл: В этом файле я получаю время сервера

 <?php 

echo $s = date('Y-m-d h:i:s');

?>
 

Index.php файл: В этом файле я получаю результат эхо-сигнала, установленного в файле clock.php.

     <?php include("reloj.php"); ?>
    <input type="text" id="serverDate" style="opacity: 20;" >
<script>
    let reloj = document.getElementById("serverDate");
    
    function muestraReloj () {
            fetch("reloj.php")
            .then(response => response.text())
            .then(data => reloj.value = data); 
                console.log(reloj.value);
           var fechaYHora = new Date(reloj.value).toLocaleTimeString();
            console.log(fechaYHora);
    }
    setInterval(muestraReloj, 1000)
</script>
 

Все работает правильно для меня, но я не хочу показывать время, которое печатается в файле echo часов, в примере, который я устанавливаю, если я удалю эхо, то оно не сработает, потому что оно ничего не показывает. Ввод с идентификатором serverDate я могу скрыть его, но эхо файла clock.php Я не знаю, как это можно скрыть, есть какие-нибудь идеи?

Комментарии:

1. Почему вы включаете reloj.php это в свой index.php файл?

2. @ChrisG, чтобы указать текущую дату сервера, с тех пор, как php-код, который находится в файле clock.php установите его в индекс, а затем он отправил мне весь HTML

3. Видимо, благодаря вашему комментарию я понял, что если бы мне показали это эхо Php включает в себя («clock.php»); ?> затем просто удалите его

4. Заключительное примечание: название вашего вопроса вообще не описывает реальную проблему. У тебя все хорошо получается. Проблема в чем-то совсем другом

5. Почему бы вам не получить начальную дату/время и не позволить javascript увеличить возвращаемое значение как живые часы? Вы, вероятно, сломаете свой сервер, выполняя один запрос в секунду.

Ответ №1:

замените это своим Clock.php содержимое файла:

 <?php
    echo $_SERVER['REQUEST_TIME'];
?>