часы на сайт html код
Дата и время в HTML. Формат, текущее время, часы на сайте
При работе с датой и временем на сайте есть необходимость в том, чтобы суть содержимого понимали как пользователи сайта, так и роботы (поисковые системы, скрипты и т.п).
Для человека будет достаточно написать «сегодня в 10», «через 3 дня», в «прошлом году», но для «машины» такая запись далеко не всегда будет информативной. Формат даты и времени в HTML позволяет описывать выражения подобные этим, а также указывать не только временные точки, но и временные отрезки, например «длительность 2 часа 17 минут».
Рассмотрим как правильно писать дату и время в HTML.
Формат точной даты и времени YYYY-MM-DDThh:mm:ssTZD
Этот формат используется для указания конкретной временной точки («20-го апреля», «сегодня в 8 утра», «15 января 2001 года»).
В зависимости от потребностей вы можете использовать как все составляющие, так и какую-то их часть.
Расшифровка формата YYYY-MM-DDThh:mm:ssTZD:
Рассмотрим примеры вывода даты и времени в формате временной точки.
Название | Формат | Пример |
---|---|---|
Дата, точное время, временная зона | YYYY-MM-DDThh:mm:ssTZD | 2010-05-12 22:47:11+02:00 |
Дата и время | YYYY-MM-DDThh:mm | 2015-09-23 21:13 |
Время с временной зоной | hh:mmTZD | 12:34+04:00 |
Дата | YYYY-MM-DD | 2015-09-23 |
Месяц и число | MM-DD | 01-30 |
Год и месяц | YYYY-MM | 1989-11 |
Год и неделя | YYYY-WW | 2009-46 |
Год | YYYY | 2007 |
Формат периода времени (длительность)
Формат PWDTHMS используется когда нужно указать не конкретную точку, а период времени: «3 дня», «2 часа 5 минут» и т.п. То есть, когда нужно показать длительность.
Длительность периода считается в секундах. Если указана другая величина, время приводится к секундам путем умножения:
2 минуты = 2*60 = 120 секунд и т.п.
Расшифровка формата PWDTHMS:
Примеры указания периода времени:
Название | Формат | Пример |
---|---|---|
2 недели | PхW | P2W |
10 дней | PхD | P10D |
4 дня 3 часа 5 минут | PхDTхHхM | P4DT3H5M |
2 часа 37 минут | PTхHхM | PT2H37M |
5 минут 10 секунд | PTхMхS | PT5M10S |
Как вставить текущее время в HTML
Вывести на страницу сайта текущее время используя только лишь HTML не получится.
Для того, чтобы вставить текущую дату и время на сайт будем использовать JavaScript.
Попробуем вывести текущую дату и время на экран с помощью встроенного скрипта:
Как видим, выводится вся информация о дате и времени.
Дата и время в HTML в привычном формате
Поскольку функции возвращают значения месяцев, дней, часов, минут, секунд без ведущих нулей, нам понадобится написать дополнительную функцию, которая будет эти нули добавлять.
Также обратите внимание на то, что функция getMonth() возвращает значение от 0 до 11 (количество полных месяцев, прошедших от начала года до указанной даты), а не порядковый номер месяца от 1 до 12. Поэтому, чтобы получить календарный номер месяца нужно к результату функции прибавить единицу.
Вставить текущее время и дату в HTML в привычном формате можно с помощью следующего кода:
Таким образом у нас получилось вывести на страницу сайта точное время на момент открытия страницы.
Часы на сайт, обновляемые в реальном времени
Если мы хотим, чтобы пользователь всегда видел актуальное время, то есть хотим сделать часы на странице, нужно реализовать обновление времени один раз в секунду (либо в минуту, если вы не выводите секунды). Для этого воспользуемся интервалом в JavaScript.
Часы для сайта
Часы считаются одним из самых популярных скриптов для сайта. На основе этого скрипта можно делать не только таймеры, но и анимацию. Для написания html кода часов для сайта используется 2 метода на JavaScript.
Метод toLocaleTimeString()
Этот способ реализации предусматривает заготовку html шаблона:
После этого указываются такие свойства:
Теперь можно приступить к написанию html кода для часов на сайт. Для этого используется метод toLocaleTimeString(). Он предназначен для вывода часов в формате, который установлен на операционной системе пользователя. Популярность этого метода обусловлена его удобством и краткостью.
Этот способ реализации предусматривает запуск часов сразу же после загрузки сайта. С этой целью используется функция onload. Также потребуется применение функции setInterval(). Она принимает 2 параметра:
Отдельный вывод элементов
Второй способ реализации предусматривает вытягивание всех элементов часов по отдельности. Перед тем, как сделать HTML часы на сайте этим методом, необходимо создать блок для вывода времени:
В данном примере указываются такие свойства:
Это способ реализации позволяет поместить весь код в функцию, вызывающуюся после блока для вывода часов. Эта функция взаимодействует с объектом Date с целью получения различных элементов часов.
Главным преимуществом данного метода считается удобство. Разработчик самостоятельно контролирует формат времени на часах. С этой целью можно реализовать проверку, которая при необходимости добавит недостающие нули. После этого формируется строка, в которой указывается свойство innerHTML и выполняется вывод времени в заданном блоке. Для корректной работы этого метода в функции вывода реализован стандартный таймер, запускающий ее каждую секунду.
Разноцветные часы
Веб-разработчикам, которые используют бесплатный html код часов для сайта, доступны не только стандартные способы реализации, но и весьма оригинальные. Примером являются разноцветные часы, которые будут менять цвет каждую секунду. Алгоритм реализации таких часов указан ниже. Стоит заметить, что перед его применением необходимо добавить 3 элемента span с секундами, минутами и часами.
Пример с исходным кодом для вывода часов:
See the Pen Gooey Clock by Michael Leonard (@mikel301292) on CodePen.
Аналоговые часы на HTML5 c логикой на JavaScript
Для кого и зачем эта статья?
Что мы будем делать?
Реализация цифровых часов
Создадим три файла в текстовом редакторе. (Все три файла должны лежать в одной папке).
index.html — основная страничка
clockscript.js — скрипт с логикой работы
style.css — файл стилей
Один из вариантов реализации может быть следующим. Файл index.html:
Разберемся с работой clockscript.js:
Выполняем внутренний JavaScript-код при помощи привязки к событию onload корневого объекта Window :
Объект Date используется для проведения различных манипуляций с датой и временем. С помощью конструктора создаем его экземпляр и называем d:
Находим объект DOM по его id. Это именно тот объект, в который мы хотим выводить наше время. Это может быть параграф, заголовок или еще какой-то элемент. У меня это div-блок. После получения элемента по id, используем его свойство innerHTML для получение всего содержимого элемента вместе с разметкой внутри. И передаем туда результат метода toLocaleTimeString(), который возвращает форматированное представление времени:
Вот, что должно получиться(время динамически изменяется каждую секунду):
Реализация аналоговых часов
С этого момента мы будем использовать Canvas (HTML), который будет служить нам холстом для творчества.
Чтобы увидеть наш холст в файле index.html внутри body мы должны где-то расположить следующий тег, сразу определив его размеры:
Ну что, давайте вспоминать математику? Нам важно понять связь между делениями определенных стрелок и углом их поворота на будущем циферблате.
Угол поворота всех стрелок за 1 секунду:
То есть даже за 1 секунду все стрелки должны повернуться, каждая на соответствующий угол. И если это не учесть, то первый подводный камень, который мы получим в отображении, будет некрасивая анимация. К примеру, когда время будет 19:30, то часовая стрелка будет ровно показывать на 19 часов, хотя в реальной жизни она должна уже быть наполовину приближена к 20 часам. Аналогично, приятнее будет выглядеть плавное передвижение минутной стрелки. Ну а секундная стрелка пусть перещелкивается дискретными движениями, как в большинстве реальных механических часов. Решение проблемы: прибавлять к углы поворота текущей стрелки угол поворота более быстрой стрелки, домноженный на коэффициент, обозначающий его долю от угла текущей стрелки.
Угол вращающегося радиус-вектора(стрелки часов) отсчитывается от положительного направления в направлении против часовой стрелки. Если мы это не учтем в нашей логике, то направим часы назад в прошлое.
И еще, отсчет часов, минут и секунд у нас происходит от цифры 12, верхнего положения. Решение проблемы: в наших формулах мы должны учесть это в качестве сдвига +π/2 (90 o ). А перед значением угла ставить знак «-«, чтобы часы шли именно по часовой стрелке. И, конечно, учитывать, что передача угла в градусах в тригонометрические функции языков программирования осуществляется с умножением на коэффициент «π/180 o «.
Реализация на примере секундной стрелки:
В ходе разметки рисочек циферблата нужно как-то выделить рисочки напротив часов. Всего рисочек — 60 для секунд и минут. 12 — для часов. Эти 12 должны как-то выделяться на фоне всех остальных. Также симметричность оцифровки зависит от ширины цифр. Очевидно, что цифры 10, 11 и 12 шире, чем 1, 2, 3 и т.д. Про это нужно не забыть.
Решение проблемы и вариант оцифровки циферблата:
С учетом всего этого, мой вариант исполнения кода логики и отображения аналоговых часов выглядит следующим образом:
Заключение
Вот такие часы должны получиться в итоге. Надеюсь, что данная статья поможет вам разобраться в элементарной анимации на JavaScript и зародит у вас интерес к освоению этого прекрасного языка программирования. Спасибо за внимание.
Часы с использованием HTML5
Простой скрипт позволяет создать часы, которые отображают реальный ход времени.
Разметка HTML
Для создания часов потребуется очень простой код.
index.html
Код CSS для часов еще проще.
Все остальные правила из файла main.css касаются только оформления демонстрационной страницы.
JavaScript
js/script.js
Готово!
Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.script-tutorials.com/html5-clocks/
Перевел: Сергей Фастунов
Урок создан: 23 Марта 2012
Просмотров: 45905
Правила перепечатки
5 последних уроков рубрики «HTML и DHTML»
Лайфхак: наиполезнейшая функция var_export()
При написании или отладки PHP скриптов мы частенько пользуемся функциями var_dump() и print_r() для вывода предварительных данных массив и объектов. В этом посте я бы хотел рассказать вам о функции var_export(), которая может преобразовать массив в формат, пригодный для PHP кода.
17 бесплатных шаблонов админок
Парочка бесплатных шаблонов панелей администрирования.
30 сайтов для скачки бесплатных шаблонов почтовых писем
Создание шаблона для письма не такое уж простое дело. Предлагаем вам подборку из 30 сайтов, где можно бесплатно скачать подобные шаблоны на любой вкус.
Как осуществить задержку при нажатии клавиши с помощью jQuery?
К примеру у вас есть поле поиска, которое обрабатывается при каждом нажатии клавиши клавиатуры. Если кто-то захочет написать слово Windows, AJAX запрос будет отправлен по следующим фрагментам: W, Wi, Win, Wind, Windo, Window, Windows. Проблема?.
15 новых сайтов для скачивания бесплатных фото
Подборка из 15 новых сайтов, где можно скачать бесплатные фотографии для заполнения своих сайтов.
Добавить дату и время на сайт
Приветствую Вас, дорогой товарищ! Продолжаем осваивать возможности веб-технологий и попробуем сейчас добавить дату и время на сайт. Сделать это можно несколькими способами. Мы рассмотрим два. Один с использованием PHP, а второй на JavaScript. Давайте начнем с первого. По традиции предлагаю посмотреть на пример.
Итак, для того, чтобы добавить дату и время на сайт в PHP, достаточно написать стандартную функцию, которая как раз и вызывает то, что нам нужно и у нее есть параметры, с которыми сейчас будем разбираться.
Выводить дату и время на сайте можно в различных форматах. Это один из самых распространенных. Но можно сделать и по другому. К примеру вывести дополнительно день недели, а так же написать название месяца. делается это так:
Дата и время выводится, но как вы уже заметили, то не совсем так, как нам нужно. Желательно, чтобы название месяца и день недели был на русском. Это небольшой нюанс или даже особенность самого языка. Но решить это можно довольно-таки легко. Мы создадим 2 массива с кириллическими названиями дней и месяцев и тогда все должно работать нормально.
Запись получилась длинноватой, но с задачей по добавлению даты и времени на сайт эта функция справилась отлично.
Добавить дату и время на сайт на JavaScript
И давайте сразу добавим корректные русские названия, чтобы все легко читалось. У функции вывода даты и времени в JS много разных параметров, я покажу наиболее часто используемые.
var data = new Date(); var month=new Array(12); month[0]=»Января»; month[1]=»Февраля»; month[2]=»Марта»; month[3]=»Апреля»; month[4]=»Мая»; month[5]=»Июня»; month[6]=»Июля»; month[7]=»Августа»; month[8]=»Сентября»; month[9]=»Октября»; month[11]=»Декабря»; var weekday=new Array(7); weekday[0]=»Воскресенье»; weekday[1]=»Понедельник»; weekday[2]=»Вторник»; weekday[3]=»Среда»; weekday[4]=»Четверг»; weekday[5]=»Пятница»; weekday[6]=»Суббота»; document.write (data.toLocaleString()); // 28.09.2019, 02:50:33 document.write(data.toString()); // Дата: Sat Sep 28 2019 02:50:38 GMT+0300 (Москва, стандартное время) document.write(data.getDate()+ ‘ ‘ + month[data.getMonth()]+ ‘ ‘ +data.getFullYear()+’ года. ‘+weekday[data.getDay()]+’. Время: ‘+data.toLocaleTimeString()); // 28 Сентября 2019 года. Суббота. Время: 02:50:45 document.write(‘Сегодня ‘ +data.getDate()+ ‘ ‘ + month[data.getMonth()]+ ‘ ‘ +data.getFullYear()+’ года. ‘+weekday[data.getDay()]+’. Время: ‘+data.getHours()+ ‘:’+data.getMinutes()); // Сегодня 28 Сентября 2019 года. Суббота. Время: 02:54
На демо странице первый и последний пример сделаны идентично, но следует отметить одну немаловажную деталь. Время в PHP и время в JS может отличаться. Все дело в том, что ПХП берет время с сервера, а JavaScript с вашего устройства, отсюда и разница. Оно может отличаться на несколько часов, в зависимости от часового пояса. Поэтому, если вам нужно вывести дату и время на сайте для пользователя, то лучше использовать JS. А счетчики посещений на серверных языках.
Идущие часы на сайт
И напоследок приведу небольшую JavaScript функцию, которая позволит вам добавить на сайт живые часы, которые будут отсчитывать время. Как на странице с примерами.