Вчера столкнулся с задачей включить цифровые часы  датой и отображением дня недели на сайт.

Задача: Сегодня: 08.01.2014 г.Ср   23:28

 Не глядя на то, что ничего сверхъестественного в этом нет, поиски подходящих скриптов для поднятия базовой идеи заняли достаточно времени, спасибо SEO`шникам и копипастерам.

И пусть скрипт я нашел:

var weekday=new Array(7);
weekday[0]="Вс";
weekday[1]="Пн";
weekday[2]="Вт";
weekday[3]="Ср";
weekday[4]="Чт";
weekday[5]="Пт";
weekday[6]="Сб";
	
function datetime(){
	var time = new Date();
	var hours = time.getHours();
	var minutes = time.getMinutes();
	var day = time.getDate();
	var month = time.getMonth()+1;
	if (hours < 10) hours = "0" + hours;
	if (minutes < 10) minutes = "0" + minutes;
	if (day < 10) day = "0" + day;
	if (month < 10) month = "0" + month;
	
	jQuery(".time").html(day+"."+month+"."+time.getFullYear()+" г."+weekday[time.getDay()]+"   "+hours+":"+minutes);
}

Проблемы продолжились, т.к. попытки запустить эти часы венчались неудачей за неудачей.
Вроде бы все просто, вроде бы setInterval должен решить проблему, но он не срабатывал.

Пришлось посетить с 10ок сайтов до того, как наткнулся(к сожалению уже не помню где, но видимо в одной из документаций) на правильную лексику команды:

setInterval(function(){datetime()}, 5000);

В итоге результирующий скрипт приобрел вид:

jQuery(document).ready(function($) {
	var weekday=new Array(7);
	weekday[0]="Вс";
	weekday[1]="Пн";
	weekday[2]="Вт";
	weekday[3]="Ср";
	weekday[4]="Чт";
	weekday[5]="Пт";
	weekday[6]="Сб";
		
	function datetime(){
		var time = new Date();
		var hours = time.getHours();
		var minutes = time.getMinutes();
		var day = time.getDate();
		var month = time.getMonth()+1;
		if (hours < 10) hours = "0" + hours;
		if (minutes < 10) minutes = "0" + minutes;
		if (day < 10) day = "0" + day;
		if (month < 10) month = "0" + month;
		
		jQuery(".time").html(day+"."+month+"."+time.getFullYear()+" г."+weekday[time.getDay()]+"   "+hours+":"+minutes);
	}
	setInterval(function(){datetime()}, 5000);
	datetime();
});