Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   получить время с сервера (https://javascript.ru/forum/css-html/31900-poluchit-vremya-s-servera.html)

Саша82 25.09.2012 15:00

получить время с сервера
 
Как сделать чтобы отображалось в браузере время, но только время бралось не с моего компа а из сервера на котором находится страничка.
<INPUT type="text" ID='cl3' size=28 value="" style="color: #FFFF00; font-family: Courier New; font-size: 12pt; border: 1px solid #D90000; background-color: #732501" name="vd">
<SCRIPT>
function clock3(){
var d=new Date()
return d.toLocaleDateString()+" "+d.toLocaleTimeString()
}
setInterval("document.all.cl3.value=clock3()",500) // обновление показаний часов
</SCRIPT>

ksa 25.09.2012 15:17

Цитата:

Сообщение от Саша82
Как сделать чтобы отображалось в браузере время, но только время бралось не с моего компа а из сервера на котором находится страничка.

Вариант на csp...

<html>
<head>
</head>
<body>
<p>Серверное время - #($zt($p($h,",",2)))#</p>
</body>
</html>

Саша82 25.09.2012 15:43

незнаю что такое csp , пример вставил в браузер нечего не показывает

trikadin 25.09.2012 15:48

Цитата:

Сообщение от Саша82
незнаю что такое csp , пример вставил в браузер нечего не показывает

Молодец, так всегда и делай. И ты станешь самым великим программистом в мире.

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

Саша82 25.09.2012 16:12

незнаю как это сделать помогите плз, тут ведь знающему делов на одну минуту если не меньше

Саша82 25.09.2012 18:42

получилось но время стоит на месте, а как сделать чтобы время шло как в первом премере
я в этот примеор вставил php код.

<INPUT type="text" ID='cl3' size=28 value="" style="color: #FFFF00; font-family: Courier New; font-size: 12pt; border: 1px solid #D90000; background-color: #732501" name="vd">
<script type="text/javascript">
function clock3(){
var d=new Date(<?php print time(); ?> * 1000)
return d.toLocaleDateString()+" "+d.toLocaleTimeString()
}
setInterval("document.all.cl3.value=clock3()",500) // обновление показаний часов
</SCRIPT>

dmitriymar 25.09.2012 21:55

Цитата:

Сообщение от Саша82
но время стоит на месте

время никогда не стоит на месте:)

walik 25.09.2012 22:37

Цитата:

Сообщение от Саша82
а как сделать чтобы время шло

Цитата:

Сообщение от trikadin
синхронизировать время AJAX-ом. Т.е., ты делаешь запрос, который возвращает тебе текущее время сервера (желательно, в юникс-формате). Потом ты прибавляешь к этому ответу время, которое ушло на его получение, и получаешь почти точное значение времени сервера

...

Саша82 26.09.2012 15:55

сам алгоритм я понимаю как должен быть построен а вот само решение немогу сделать. напишите хоть ктото. я джаву оочень плохо знаю

Саша82 26.09.2012 19:30

так и не дождался ответа, на другом форуме помогли, вот как это должно было выглядеть. МОЖНТ КОМУ ТО ПРИГОДИТСЯ Я ЖЕ НЕ ЖЛОБ.
ГОТОВОЕ РЕШЕНИЕ
<?
echo date( 'Y-г m-м d-ч ', time() );
?>
<b id="seconds">0</b>

<script Language="JavaScript">
var hours = <?php echo date("H"); ?>;
var min = <?php echo date("i"); ?>;
var sec = <?php echo date("s"); ?>;
function display() {
sec+=1;
if (sec>=60)
{
min+=1;
sec=0;
}
if (min>=60)
{
hours+=1;
min=0;
}
if (hours>=24)
hours=0;


if (sec<10)
sec2display = "0"+sec;
else
sec2display = sec;


if (min<10)
min2display = "0"+min;
else
min2display = min;

if (hours<10)
hour2display = "0"+hours;
else
hour2display = hours;

document.getElementById("seconds").innerHTML = hour2display+":"+min2display+":"+sec2display;
setTimeout("display();", 1000);
}

display();
</script>


Часовой пояс GMT +3, время: 18:48.