Уроки JavaScript – як отримати поточну дату і час

Однією з найцікавіших речей в JavaScript є отримання доступу до дати і часу, та подальша робота з ними. Насправді це дуже легко, і в сьогоднішній статті ми розглянемо цей процес дуже детально. В JavaScript вже є вбудований об’єкт, який отримує дату і час – все, що вам потрібно зробити, це просто використовувати його!

 

 

Об’єкт дати Date() в JavaScript

Щоб використовувати цей об’єкт дати, ви повинні спочатку створити його екземпляр. Для цього виконайте наступне:

<script type="text/javascript">
var currentDate = new Date();
console.log(currentDate);
</script>

 

 

Всякий раз, коли вам потрібно створити екземпляр об’єкта Date(), використовуйте схожу конструкцію (з використанням ключового слова new, за яким слідує ім’я об’єкта). Після доступу до об’єкту дати, ви можете звертатися до потрібних методів цього об’єкту.

 

Деякі методи об’єкта дати:

Метод об’єкта Значення, що повертається
getDate() повертає день місяця
getDay() повертає день тижня
getHours() повертає годину (починається з 0-23)
getMinutes() повертає хвилини
getSeconds() повертає секунди
getMonth() повертає місяць (починається з 0-11)
getFullYear() повертає поточний рік
getTime() повертає повний час (в трохи дивному форматі)

 

 

Тепер перейдемо до практики.

Припустимо, вам потрібно отримати сьогоднішню дату. Тоді використовуйте наступну конструкцію:

<script type="text/javascript">
var todayDate = new Date();
var currYear = todayDate.getFullYear();
var currMonth = todayDate.getMonth()+1;
var currDay = todayDate.getDate();
document.write("Сьогоднішня дата: ");
document.write(currDay + "-" + currMonth + "-" + currYear);
</script>

 

Результат буде наступного формату:

Сьогоднішня дата: 7-4-2019
// завтра результат буде інший, оскільки дата зміниться

 

 

Давайте трохи розшифруємо наведений вище код:

  • todayDate – це змінна, в яку записується екземпляр об’єкта Date(). Ви можете назвати цю змінну як завгодно. Після створення екземпляра, ця змінна буде мати доступ до всіх методів даного об’єкта. Наприклад, вираз:
var currYear = todayDate.getFullYear();

означає «Отримати поточний рік і привласнити його змінній currYear».

  • Ми додали +1 до змінної місяця (currMonth), оскільки в JavaScript місяці відраховуються, починаючи з «0», а не з «1».
  • Об’єкт Date() в JavaScript завжди використовує значення дати і часу, які встановлені на комп’ютері поточного користувача. Таким чином, для різних користувачів будуть показуватися різні дата/час, в залежності від того, в якому місці світу він або вона знаходиться.

 

 

Практичні рішення з використанням дати в JavaScript

 

1) Показ різних картинок на сайті в залежності від часу доби

Володіючи вищевказаними знаннями, ви можете відображати різні картинки на своєму сайті в залежності від поточної дати/часу. Наприклад, вам потрібно змінювати фонову картинку (бекграунд) сайту в залежності від того, що зараз за вікном – день чи ніч.

Підготуйте дві різні картинки (одну для дня, іншу для ночі).

Тепер додайте простий скрипт:

<script type="text/javascript">
var currDay = new Date();
var dayTime = currDay.getHours();
if (dayTime <= 21) {
 document.write("<img src='day.jpg'>");
} else {
 document.write("<img src='night.jpg'>");
}
</script>

 

Тут ми перевіряємо поточний час, якщо зараз більше 21:00, тоді буде показуватися фонова картинка для ночі, в іншому випадку буде показана фонова картинка для світлого часу доби.

 

 

2) Додавання на сайт онлайн годинника з допомогою форми

Додати онлайн годинник на сайт за допомогою JavaScript та форми досить просто. Основна концепція полягає в тому, щоб безперервно записувати дані часу в поле форми кожну 1 секунду, використовуючи оновлений час з комп’ютера користувача.

Ви можете скопіювати і вставити наведений нижче код на свій сайт і, при бажанні, трохи погратися з ним:

<form name="Clock">
 <input type="text" size="10" name="timer">
</form>
<script type="text/javascript">
function showCurrentTime(){
 var currDate = new Date();
 var hours = currDate.getHours();
 var minutes = currDate.getMinutes();
 var seconds = currDate.getSeconds();
 if (minutes <= 9) {
  minutes = "0" + minutes;
 }
 if (seconds <= 9) {
  seconds = "0" + seconds;
 }
 document.Clock.timer.value = hours + ":" + minutes + ":" + seconds;
 setTimeout("showCurrentTime()", 1000);
}
showCurrentTime();
</script>

 

 

Деякі пояснення коду:

  • Якщо хвилини/секунди менше або дорівнюють 9, ми додаємо перед цифрою часу 0, щоб формат секунд і хвилин був у двозначному вигляді з ведучим нулем.
  • У розглянутому коді основною частиною є метод JavaScript setTimeout, який запускає функцію showCurrentTime() кожну секунду. Даний метод оновлює функцію кожну секунду, що створює ілюзію, що годинник дійсно цокає.
  • Пам’ятайте, формат годин в JavaScript від 0 до 23, а не від 1 до 24!
  • Важливо! Не використовуйте форму на своєму реальному сайті для показу годин. Така реалізація має свої переваги, але в даному уроці вона використовується тільки для демонстраційних цілей. Використовуйте для цього інші HTML елементи.

 

 

This post was last modified on 12/04/2019 20:44

Останні пости

Як додати карту від Google Maps на свій сайт (з маркером і текстом)

В сьогоднішньому практичному уроці ми розглянемо приклад додавання на свій сайт карти (мапи) від сервісу…

02/05/2024

Як вибрати ідеальний ноутбук: Повний гайд

Вибір ноутбука може бути складним завданням у світі, де ринок переповнений варіантами на будь-який смак…

22/04/2024

Томас Едісон

Наш великий недолік в тому, що ми занадто швидко опускаємо руки. Найбільш діючий метод досягти…

20/04/2024

Найкрасивіші та найбільш вражаючі мости з усього світу (ТОП-10)

Міст — це щось більше, ніж просто споруда, яка поєднує два береги. Для того, щоб…

19/04/2024

Соломон

Життя нас вчить, що свою пару ми пізнаємо, коли розлучаємося, своїх братів ми пізнаємо, коли…

18/04/2024

Чак Поланік

Хто може — той робить. Хто не може — той критикує Чак Поланік  

17/04/2024