Из этого руководства вы узнаете, как с помощью JavaScript создать цифровые часы, показывающие время в 24 и 12-часовом форматах.
Цифровые часы в 24- часовом формате
Структура
Создадим элемент div с атрибутом id = “clock” , в котором будет отображаться время с помощью JavaScript.
Стили
Для текста можно установить размер шрифта и цвет. В качестве шрифта выберем Orbitron . Время будет отображаться на черном фоне.
/* Google font */ @import url(‘https://fonts.googleapis.com/css?family=Orbitron’); body < background-color: #121212; >#clock
Скрипт
Весь код часов основан на функции currentTime() . Внутри функции создается объект класса Date , который используется для получения текущего часа, минут и секунд. Их значения сохраняются в разных переменных.
Чтобы элементы времени всегда отображались в двузначном формате, перед ними ставится 0 всякий раз, когда они меньше 10. Для этого используется метод updateTime() .
function currentTime() < hour = updateTime(hour); min = updateTime(min); sec = updateTime(sec); >function updateTime(k) < if (k < 10) < return "0" + k; >else < return k; >>
Теперь отобразим текущее время в элементе div . Для этого используется метод document.getElementById и свойство innerHTML .
document.getElementById("clock").innerHTML = hour + " : " + min + " : " + sec; /* adding time to the div */
Чтобы запустить таймер, применим метод setTimeout() . В качестве аргументов он принимает функцию currentTime() в качестве первого аргумента и временя (в миллисекундах). В нашем случае функция вызывается каждые 1000 миллисекунд.
Наконец, функция currentTime() вызывается для запуска всего процесса.
function currentTime() < var t = setTimeout(function()< currentTime() >, 1000); /* настаиваем таймер */ > currentTime(); /* Вызываем функция currentTime(), которая запускает весь процесс*/
Мы только что создали цифровые часы.
Цифровые часы в 12-часовом формате
Для часов с 12-часовым форматом времени HTML и CSS остаются такими же, как и в предыдущем случае.
Структура
Создаем блок div для отображения времени.
Стиль
Стиль часов тоже не меняется.
/* Google font */ @import url(‘https://fonts.googleapis.com/css?family=Orbitron’); body < background-color: #121212; >#clock
Скрипт
JavaScript-код для цифровых часов показан ниже.
function currentTime() < var date = new Date(); /* создаем объект класса Date() */ var hour = date.getHours(); var min = date.getMinutes(); var sec = date.getSeconds(); hour = updateTime(hour); min = updateTime(min); sec = updateTime(sec); document.getElementById("clock").innerText = hour + " : " + min + " : " + sec; /* adding time to the div */ var t = setTimeout(function()< currentTime() >, 1000); /* настраиваем таймер */ > function updateTime(k) < if (k < 10) < return "0" + k; >else < return k; >> currentTime(); /* вызываем функцию currentTime() */
Нам необходимо добавить еще три строки кода и наши часы будут готовы. Создаем переменную и присваиваем ей начальное значение «AM». Эта переменная будет использоваться для хранения значения «AM» или «PM». Для присвоения переменной midday значения «PM» используется тернарный оператор.
function currentTime() < var midday = "AM"; midday = (hour >= 12) ? "PM" : "AM"; >
Чтобы отображать время в 12-часовом формате, количество часов не должно превышать двенадцать. Поэтому если оно больше, то 12 вычитается из количества часов. Кроме этого, количество часов меняется на 12.
Код скрипта function digitalClock() < var date = new Date(); var hours = date.getHours(); var minutes = date.getMinutes(); var seconds = date.getSeconds(); //* добавление ведущих нулей */ if (hours
Вызов скрипта на странице
12-часовой формат времени: AM/PM
12-часовой формат времени: AM/PM
Примеры оформления простых часов для сайта
1 2 3
Цветные часы для сайта
: :
Часы + дата
Хорошо смотрятся на сайте часы совместно с датой оформленные в одну строку. В Примере 5 к скрипту часы добавлен скрипт дата. Вид строки оформляется средствами css под дизайн сайта.
Digital Clock with Date using JavaScript, Html & CSS
The following programming code is the basic HTML and CSS structure of this watch that was originally used to design and background design this watch. If you have seen the demo, you will understand that in this case I have used a rectangular box and put a border( border: 7px solid rgb(255, 252, 252); ) around that box. Time and date can be seen in that box. Box-shadow( box-shadow: 0 2px 10px 0 rgba(0,0,0,0.16), 0 2px 10px 0 rgba(0,0,0,0.12); ) has been used around this box.
There are basically three types of options in this watch, time view, AM / PM and date view. The following HTML and CSS programming codes have helped to create and design these three options. In this case I have set a specific front size for each. If you want, you can change the size to your liking.
So far we have only designed this digital watch, now we will implement this digital watch. You must know the basic JavaScript programming code for this. I will make arrangements to see everyone's first time and add AM / PM option with it. If you know basic JavaScript then surely you can understand the code below.
functionupdateTime()vardateInfo=newDate();/* time */varhr,_min=(dateInfo.getMinutes()10)?"0"+dateInfo.getMinutes():dateInfo.getMinutes(),sec=(dateInfo.getSeconds()10)?"0"+dateInfo.getSeconds():dateInfo.getSeconds(),ampm=(dateInfo.getHours()>=12)?"PM":"AM";// replace 0 with 12 at midnight, subtract 12 from hour if 13–23if(dateInfo.getHours()==0)hr=12;>elseif(dateInfo.getHours()>12)hr=dateInfo.getHours()-12;>elsehr=dateInfo.getHours();>// Add to time formatvarcurrentTime=hr+":"+_min+":"+sec;// AM/ PM optionsdocument.getElementsByClassName("hms")[0].innerHTML=currentTime;document.getElementsByClassName("ampm")[0].innerHTML=ampm;/* Add Date options */// print time and date once, then update them every secondupdateTime();setInterval(function()updateTime()>,1000);
Step 4: Activate the date option in the digital clock
Above we have added JavaScript code for this in time. This time we will implement the date as you saw in the demo above. In this case we have added the date, month, etc.
/* date */vardow=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],month=["January","February","March","April","May","June","July","August","September","October","November","December"],day=dateInfo.getDate();// store datevarcurrentDate=dow[dateInfo.getDay()]+","+month[dateInfo.getMonth()]+""+day;document.getElementsByClassName("date")[0].innerHTML=currentDate;>;
Hope you learned from this tutorial how I made this digital watch. If you have any difficulty in understanding, of course you can comment. I have made many more designs like this, you can follow the designs if you want. You must let us know how you like this design by commenting . You can visit my blog for more tutorials like this. https://www.foolishdeveloper.com/
HTML5 Digital Clock with JavaScript | Beginner Project
In this tutorial, we are going to create a beginner Javascript project that will display a digital clock on the web page. The clock will show the current time in the format of hours, minutes, and seconds. The clock will be updated every second. We will also display the date and day of the week just below the clock.
Here is how our HTML5 digital clock looks like:
Let's start with creating the first structure of our digital clock using HTML. Then we will create the logic for our clock using Javascript and finally, we will add CSS to make our clock look nice.
HTML Structure
We will create 2 div elements, one to display running time and another to display the date and day of the week.
Create a div element with class time and another div element with class date-time .
Wrap both div elements inside a div element with class clock .
Now we have a structure of our digital clock. We will add some CSS to make it look nice.
Creating JavaScript Logic
Let's start writing the logic of our digital clock.
Before starting with the logic, you must have an understanding of the Date object in javascript. We will first explain here in brief and then start with the logic.
Date object in javascript
The Date object in javascript is used to get the current time and date. It is a built-in object in javascript.
To get the current date object we can use the new Date() . It returns the current date object.
Now we can get the current time and date using getHours() , getMinutes() , getSeconds() and getDay() methods of the date object.
var hours = date.getHours(); var minutes = date.getMinutes(); var seconds = date.getSeconds(); var day = date.getDay();
First select the element with class time using the querySelector Method, so that we can use it to display the date and time.
var time = document.querySelector('.time'); var dateTime = document.querySelector('.date-time');
Now create a function updateClock() that will calculate the current time and date and display it on the web page.
Within the function create a Date object and get the current hour , minute , second , day , date , month , and year .
Now create 2 arrays to store day names and month names in English.
// Get the current time, day , month and year var now = new Date(); var hours = now.getHours(); var minutes = now.getMinutes(); var seconds = now.getSeconds(); var day = now.getDay(); var date = now.getDate(); var month = now.getMonth(); var year = now.getFullYear(); // store day and month name in an array var dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; var monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
Add a 0 before the minutes and seconds if they are less than 10 and convert hours to 12-hour format.
Use the selected element to display the time and date.
// format date and time hours = hours % 12 || 12; minutes = minutes < 10 ? '0' + minutes : minutes; seconds = seconds < 10 ? '0' + seconds : seconds; date = date < 10 ? '0' + date : date; // display date and time var period = hours < 12 ? 'AM' : 'PM'; time.innerHTML = hours + ':' + minutes + ':' + seconds + ' ' + period; dateTime.innerHTML = dayNames[day] + ', ' + monthNames[month] + ' ' + date + ', ' + year;
Finally add a setInterval() method to call the updateClock() function every second.
The complete logic of our digital clock is as follows:
var time = document.querySelector('.time'); var dateTime = document.querySelector('.date-time'); function updateClock() < // Get the current time, day , month and year var now = new Date(); var hours = now.getHours(); var minutes = now.getMinutes(); var seconds = now.getSeconds(); var day = now.getDay(); var date = now.getDate(); var month = now.getMonth(); var year = now.getFullYear(); // store day and month name in an array var dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; var monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; // format date and time hours = hours % 12 || 12; minutes = minutes < 10 ? '0' + minutes : minutes; seconds = seconds < 10 ? '0' + seconds : seconds; date = date < 10 ? '0' + date : date; // display date and time var period = hours < 12 ? 'AM' : 'PM'; time.innerHTML = hours + ':' + minutes + ':' + seconds + ' ' + period; dateTime.innerHTML = dayNames[day] + ', ' + monthNames[month] + ' ' + date + ', ' + year; >updateClock(); setInterval(updateClock, 1000);
CSS for the clock
You can create your own style depending on your imagination. Here is the simple style for the clock.