Динамические часы на сайте
В комментариях к одной из статей меня спросили как сделать динамические часы, с меняющимся временем, и чтобы данные были по гринвичу. На PHP легко получить данные гринвича (если конечно на сервере часы настроены правильно), но невозможно сделать чтобы часы обновлялись динамически без запроса к серверу (ведь PHP серверный язык). Но на javascript решение возможно, и хоть данный блог и не о javascript а о PHP все же постараюсь помочь читателю. Вот пример как можно реализовать часы на JavaScript:
<HTML>
<HEAD><TITLE></TITLE></HEAD>
<script language="JavaScript">
function time()
{
var vrem;
var vremya;
vrem=new Date();
//создаем экземпляр класса отвечающего за дату
vremya = document.getElementById('vremya');
//получаем элемент по айди
vremya.innerHTML=vrem.getUTCHours()+":"+vrem.getUTCMinutes()+":"+vrem.getUTCSeconds()+" "+vrem.getUTCDate()+"."+(vrem.getUTCMonth()+1)+"."+vrem.getUTCFullYear();
//Записываем часы, минуты, секунды по гринвичу в полученный элемент страницы.
setTimeout("time()",1000)
//Каждую тысячу милисекунд(одну секунду) выполняем данную функцию.
}
</script>
<BODY onload="time()">
Сейчас:
<font size="5" id="vremya"> </font>
</BODY>
</HTML>
Вот и все. Будет выводиться время по GMT+0. Единственное, т.к javascript должен выполняться на компе у пользователя у него должна быть правильно настроена временная зона и время данной зоны, в ином случае к сожалению будет выведен бред. При желании можно увязать javascript и PHP но это уже из области т.н. танцев с бубном)
ЗЫ Благодарю Константина за указания на ошибки и недочеты в данной статье. К сожалению еще раз убедился что JavaScript мне стоит еще учиться и учиться.