Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> получить время с сервера 
:(
    Опции темы
asdn
Дата 25.9.2012, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 5.10.2010

Репутация: нет
Всего: нет



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

<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>


Это сообщение отредактировал(а) Aliance - 25.9.2012, 15:46
PM MAIL   Вверх
Aliance
Дата 25.9.2012, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Сохранять серверное время в js переменную.

Код

<script type="text/javascript">
var date = new Date(<?php print time(); ?> * 1000);
alert(date.getFullYear());
</script>

PM MAIL WWW ICQ Skype   Вверх
asdn
Дата 25.9.2012, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 5.10.2010

Репутация: нет
Всего: нет



Цитата(Aliance @ 25.9.2012,  15:50)
Сохранять серверное время в js переменную.

Код

<script type="text/javascript">
var date = new Date(<?php print time(); ?> * 1000);
alert(date.getFullYear());
</script>

получилось  но время стоит на месте, а как сделать чтобы время шло как в первом премере
я в этот примеор вставил 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>


Это сообщение отредактировал(а) Aliance - 26.9.2012, 10:47
PM MAIL   Вверх
Aliance
Дата 26.9.2012, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Цитата(asdn @  25.9.2012,  18:40 Найти цитируемый пост)
а как сделать чтобы время шло как в первом премере


Получаем часовой пояс пользователя примерно так:
Код

var server_date = new Date(<?php print time(); ?> * 1000);
var local_date = new Date();
var delta = server_date.getTime() - local_date.getTime();


Дальше в функции, вызывающейся по интервалу, к локальной дате прибавляем разницу примерно так:
Код

function clock() {
    var date = new Date();
    date.setTime( date.getTime() + delta );
}



M
Aliance
Пользуйтесь кнопками код на форуме!


Это сообщение отредактировал(а) Aliance - 26.9.2012, 10:55
PM MAIL WWW ICQ Skype   Вверх
asdn
Дата 26.9.2012, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 5.10.2010

Репутация: нет
Всего: нет



Цитата(Aliance @ 26.9.2012,  10:55)
Цитата(asdn @  25.9.2012,  18:40 Найти цитируемый пост)
а как сделать чтобы время шло как в первом премере


Получаем часовой пояс пользователя примерно так:
Код

var server_date = new Date(<?php print time(); ?> * 1000);
var local_date = new Date();
var delta = server_date.getTime() - local_date.getTime();


Дальше в функции, вызывающейся по интервалу, к локальной дате прибавляем разницу примерно так:
Код

function clock() {
    var date = new Date();
    date.setTime( date.getTime() + delta );
}

значит надо написать так
Код


var server_date = new Date(<?php print time(); ?> * 1000);
var local_date = new Date();
var delta = server_date.getTime() - local_date.getTime();

function clock() {
    var date = new Date();
    date.setTime( date.getTime() + delta );
}

нечего не получается

PM MAIL   Вверх
Aliance
Дата 26.9.2012, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



http://jsfiddle.net/hZy7J/1

На будущее, если вы сами писать ничего не умеете, а результат нужен - платите за это деньги тем, кто выполняет подобного рода работу. Здесь вам впредь бесплатно писать с нуля никто не будет, здесь помогают советами. Что я и сделал, в предыдущих постах.

Это сообщение отредактировал(а) Aliance - 26.9.2012, 15:32
PM MAIL WWW ICQ Skype   Вверх
asdn
Дата 26.9.2012, 17:38 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 5.10.2010

Репутация: нет
Всего: нет



Цитата(Aliance @ 26.9.2012,  15:30)
http://jsfiddle.net/hZy7J/1

На будущее, если вы сами писать ничего не умеете, а результат нужен - платите за это деньги тем, кто выполняет подобного рода работу. Здесь вам впредь бесплатно писать с нуля никто не будет, здесь помогают советами. Что я и сделал, в предыдущих постах.

его же может написать за 2 минуты любой кто знает джава. и сколько же должен стоить такой скрипт, 5-10 копеек? 
PM MAIL   Вверх
asdn
Дата 26.9.2012, 18:30 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 5.10.2010

Репутация: нет
Всего: нет



Цитата(asdn @ 26.9.2012,  17:38)
Цитата(Aliance @ 26.9.2012,  15:30)
http://jsfiddle.net/hZy7J/1

На будущее, если вы сами писать ничего не умеете, а результат нужен - платите за это деньги тем, кто выполняет подобного рода работу. Здесь вам впредь бесплатно писать с нуля никто не будет, здесь помогают советами. Что я и сделал, в предыдущих постах.

его же может написать за 2 минуты любой кто знает джава. и сколько же должен стоить такой скрипт, 5-10 копеек?

так и не дождался ответа, на другом форуме помогли, вот как это должно было выглядеть. МОЖНТ КОМУ ТО ПРИГОДИТСЯ Я ЖЕ НЕ ЖЛОБ.
ГОТОВОЕ РЕШЕНИЕ
Код

<?
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>



Это сообщение отредактировал(а) Aliance - 27.9.2012, 09:18
PM MAIL   Вверх
Aliance
Дата 27.9.2012, 09:20 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



ВЫ вообще по ссылке моей ходили? Я там написал готовое решение, которое вы почему-то "не дождались".
А решение, приведенное вами, это код по ссылке из гугла, причем не самый лучший.
PM MAIL WWW ICQ Skype   Вверх
asdn
Дата 28.9.2012, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 5.10.2010

Репутация: нет
Всего: нет



Цитата(Aliance @ 27.9.2012,  09:20)
ВЫ вообще по ссылке моей ходили? Я там написал готовое решение, которое вы почему-то "не дождались".
А решение, приведенное вами, это код по ссылке из гугла, причем не самый лучший.

да по ссылке прошел, но в том скрипте время берется не из сервера а из моего компа.
PM MAIL   Вверх
Sanchezzz
Дата 29.9.2012, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 3
Всего: 60



 smile  ну ты и даешь)
Решение там правильное по ссылке решение просто ты, когда копировал не раскомментировал строчку первую а вторую не закомментировал.  "комментирование в JS: построчно  // или блочно /**/ "



--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
asdn
Дата 9.10.2012, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 5.10.2010

Репутация: нет
Всего: нет



ну вот первую раскоментировал  и  вторую закоментировал. всеравно время берется из моего компа.

Код

var server_date = new Date(<?php print time(); ?> * 1000);
//var server_date = new Date(1348662336329);
var local_date = new Date();
var delta = server_date.getTime() - local_date.getTime();
function clock() {
    var date = new Date();
    date.setTime( date.getTime() + delta );
    document.getElementById('clock').value = date.getHours()+':'+date.getMinutes()+':'+date.getSeconds();
}
setInterval(clock, 1000);


Это сообщение отредактировал(а) Aliance - 9.10.2012, 17:21
PM MAIL   Вверх
Sanchezzz
Дата 9.10.2012, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 3
Всего: 60



Цитата

То ли лижи наедут то ли я дурак
 
измените у себя время на компьютере)


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
asdn
Дата 14.10.2012, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 5.10.2010

Репутация: нет
Всего: нет



Цитата(Sanchezzz @ 9.10.2012,  17:12)
Цитата

То ли лижи наедут то ли я дурак

измените у себя время на компьютере)

ну и что... изменил время вмести с ним изменилась время на страничке, потому что время  берется из моего компа а нужно из серверак сколько можно повторять.

ну и что... изменил время вмести с ним изменилась время на страничке, потому что время  берется из моего компа а нужно из серверак сколько можно повторять.
PM MAIL   Вверх
ksnk
Дата 14.10.2012, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



На самом деле, вопрос не такой простой, как кажется отвечающим. Обычно, скрипты кэшируются броузером и время, вписанное в них сервером, остается неизменным на весь период кэширования.

Может сработать такой код

Код

var req = new XMLHttpRequest();
req.open('HEAD', document.location, false);
req.send(null);
var headers = req.getAllResponseHeaders();
var t=headers.match(/date:\s*([,\w\s:]+)\n/i)
,d=new Date(t[1]);
alert(d);

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

Это сообщение отредактировал(а) ksnk - 14.10.2012, 16:29


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0815 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.