← Все вопросы

Как вывести текущее время и сделать живые часы на странице?

Задан 24 месяца назад828 просмотров1 ответ
4

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

1 ответ

9
✓ Принятый ответ — помог автору

Текущее время даёт объект Date, а обновление каждую секунду — setInterval. Вместе:

<h1 id="clock"></h1>

<script>
function tick() {
  const now = new Date();
  document.getElementById('clock').textContent = now.toLocaleTimeString();
}

tick();                 // показать сразу, не ждать секунду
setInterval(tick, 1000);
</script>

new Date() берёт текущий момент, toLocaleTimeString() красиво форматирует его как 14:05:30. setInterval(tick, 1000) вызывает функцию раз в секунду, поэтому часы тикают. Вызов tick() до интервала нужен, чтобы часы не были пустыми первую секунду.

Хочешь прокачать — выводи ещё и дату через toLocaleDateString().

Ваш ответ

, чтобы ответить на вопрос.