var lang = "ru" // здесь задаем язык часов, возможные варианты "ru"/"en" var servermode = "php" // здесь выбираем язык запроса времени с сервера, возможные варианты "php"/"ssi" var eweekdaystxt=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"] var emonthtxt=["January","February","March","April","May","June","July","August","September","October","November","December"] var weekdaystxt=["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"] var monthtxt=["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"] //берем дату с сервера, формируя запрос в соответствии с параметром servermode var servertimestring = (servermode=="php")? 'April 27, 2024 14:35:58' : '' //Создаём дату сервера и преобразуем её в количество миллисекунд от 1970 года serverMSeconds = Date.parse(servertimestring); //Создаём дату клиента и преобразуем её в количество миллисекунд от 1970 года nowMSeconds = Date.parse(new Date()); delta = serverMSeconds - nowMSeconds; // Переход = Разность в миллисекундах сервера и клиента function clocks() { var nowDate = new Date(); // создаём объект с текущим значением клиентской даты var time = Date.parse(Date()) + delta; // кол-во миллисекунд клиентской даты + переход nowDate.setTime(time); // Устанавливаем объекту nowDate время смещённое var day = nowDate.getDate() // число var month =nowDate.getMonth() //месяц var year = nowDate.getYear(); year = (year < 1000) ? 1900+year : year // год var hours = nowDate.getHours(); hours = (hours < 10) ? "0"+hours : hours // часы var minutes = nowDate.getMinutes(); minutes = (minutes < 10) ? "0"+minutes : minutes // минуты var seconds = nowDate.getSeconds(); seconds = (seconds < 10) ? "0"+seconds : seconds // секунды // день недели и месяц в зависимости от параметра lang if (lang == "ru") { dayofweek = weekdaystxt[nowDate.getDay()]; monthname = monthtxt[month] } else { dayofweek = eweekdaystxt[nowDate.getDay()]; monthname = emonthtxt[month] } // обновляем дату в блоке clocks document.getElementById("clocks").innerHTML = dayofweek+", "+day+" "+monthname+" "+year+", "+hours + ":" + minutes + ":" + seconds; } function enterClocks() { clocks(); setInterval(function(){clocks()}, 500); // вызываем каждые полсекунды, для большей точности. }