Текущая дата, день недели и время на JavaScript
Ранее мы уже рассматривали Скрипт текущей даты и времени. Теперь давайте рассмотрим более продвинутый вариант ранее рассмотренного скрипта. Основным отличием рассматриваемого скрипта даты и времени от предыдущего является добавление текущего дня недели (прописью на русском языке), разделение даты и времени для лучшего оформления и более компактный код.
Ниже располагается результат работы предлагаемого скрипта:
Чтобы посетители Вашего сайта смогли наблюдать текущую дату, день недели и время, Вам понадобится для начала выбрать место на страничке и поместить туда следующий код:
Сегодня - <span id="js_date" style="color: blue;">Дата</span>
Текущее время - <span id="js_time" style="color: green;">Время</span>
Для отображения текущей даты и времени, Вам необходимо воспользоваться нашим JavaScript кодом, приведенным чуть ниже. Для этого просто скопируйте данный код и поместите его после предыдущего кода.
<script type="text/javascript">
function clock() {
var d = new Date();
var day = d.getDate();
var hours = d.getHours();
var minutes = d.getMinutes();
var seconds = d.getSeconds();
month = new Array("января", "февраля", "марта", "апреля", "мая", "июня",
"июля", "августа", "сентября", "октября", "ноября", "декабря");
days = new Array("Воскресенье", "Понедельник", "Вторник", "Среда",
"Четверг", "Пятница", "Суббота");
if (day <= 9) day = "0" + day;
if (hours <= 9) hours = "0" + hours;
if (minutes <= 9) minutes = "0" + minutes;
if (seconds <= 9) seconds = "0" + seconds;
date_date = day + " " + month[d.getMonth()] + " " + d.getFullYear() + " г. (" +
days[d.getDay()] + ")";
date_time = hours + ":" + minutes + ":" + seconds;
document.getElementById("js_date").innerHTML = date_date;
document.getElementById("js_time").innerHTML = date_time;
}
setInterval("clock()", 200);
</script>
Как вы могли заметить, мы намеренно отделили дату от времени для того, чтобы их можно было разместить в разных местах странички и применить к ним различные стили.
В результате добавления данного кода к себе на сайт у Вас должны получиться примерно такие же часы, как в примере выше.
Перед публикацией все комментарии проходят обязательную модерацию!
Если Вы хотите задать какой-либо вопрос, то сделайте это на нашем форуме.
Таким образом, Вы сможете быстрее получить ответ на интересующий Вас вопрос.
<span style="color: red;">Сегодня</span> - <span id="date" style="color: blue;">Дата</span>
if (day <= 9) day = "0" + day;
if (hours <= 9) hours = "0" + hours;
if (minutes <= 9) minutes = "0" + minutes;
if (seconds <= 9) seconds = "0" + seconds;
Это можно как-нибудь исправить? Заменяю символ "<" на "<", валидатор также выдает 4 ошибки.
Или
var date = new Date();
alert(date.toLocaleString('ru');
И еще, если прямо на странице поставить яваскрипт-код, то все работает. А если поместить его в отдельный файл, то время выходит, но не обновляется. Можно обновить только обновлением страницы. Это почему так? Я использую джейквери, с этим это не связано?
Либо перенесли неправильно, либо JS-файл закэшировался. Проверил - все работает.
А вот на счет обновления времени - что-то не идут они. Пробовал кэши чистить, запускать в браузерах IE, Firefox, Chrome, в новом Microsoft Edge - у всех такая же проблема. Не могли бы, пожалуйста, по коду посмотреть?
Код из-за больших размеров был перенесен на форум.
Еще раз спасибо автору за код!!!
добавить строчку d.setDate(d.getDate()+1);
Время на сайте - <span id="time">00:00:00</span>
<script type="text/javascript">
t = new Date();
function clock() {
var d = new Date();
d.setHours(d.getHours() - t.getHours());
d.setMinutes(d.getMinutes() - t.getMinutes());
d.setSeconds(d.getSeconds() - t.getSeconds());
var hours = d.getHours();
var minutes = d.getMinutes();
var seconds = d.getSeconds();
if (hours <= 9) hours = "0" + hours;
if (minutes <= 9) minutes = "0" + minutes;
if (seconds <= 9) seconds = "0" + seconds;
document.getElementById("time").innerHTML = hours + ":" + minutes + ":" + seconds;
setTimeout("clock()", 1000);
}
clock();
</script>