Пошук уроків, статей та іншого контенту
Пояснює, як позначати дати, час і тривалість так, щоб їх правильно розуміли браузери та інструменти.
<time>Елемент <time> позначає дату, час або тривалість у HTML. Він допомагає браузерам, пошуковим системам, календарям, скринрідерам та іншим інструментам відрізнити звичайний текст від часових даних.
Наприклад, для людини ці записи виглядають зрозуміло:
<p>Курс опубліковано 29 липня 2026 року.</p>
<p>Зустріч розпочнеться о 14:30.</p>
<p>Тривалість відео — 18 хвилин.</p>Але для програми це лише текст. За допомогою <time> можна явно вказати, що саме є датою, часом або тривалістю:
<p>
Курс опубліковано
<time datetime="2026-07-29">29 липня 2026 року</time>.
</p>
<p>
Зустріч розпочнеться о
<time datetime="14:30">14:30</time>.
</p>
<p>
Тривалість відео —
<time datetime="PT18M">18 хвилин</time>.
</p>Текст між відкривальним і закривальним тегами призначений переважно для користувача, а значення datetime — для програм.
<time datetime="машинне-значення">Текст для користувача</time>Атрибут datetime необов’язковий, але зазвичай його варто використовувати:
<time datetime="2026-07-29">29 липня 2026 року</time>Якщо datetime не вказано, текст усередині елемента сам повинен бути коректним значенням дати або часу:
<time>2026-07-29</time>Проте такий варіант менш зручний, якщо потрібно показати користувачу локалізований або природний текст:
<time datetime="2026-07-29">29 липня 2026 року</time><time> є семантичним елементом і не змінює вигляд тексту сам по собі.
Для календарної дати використовується формат:
YYYY-MM-DDНаприклад:
<time datetime="2026-07-29">29 липня 2026 року</time>Частини значення:
YYYY — чотири цифри року;
MM — місяць від 01 до 12;
DD — день від 01 до 31.
Нулі на початку місяця та дня обов’язкові:
<!-- Правильно -->
<time datetime="2026-07-09">9 липня 2026 року</time>
<!-- Неправильно -->
<time datetime="2026-7-9">9 липня 2026 року</time>Можна позначати не лише повну дату, а й місяць:
<time datetime="2026-07">липень 2026 року</time>Також існує формат календарного тижня:
<time datetime="2026-W31">31-й тиждень 2026 року</time>На практиці найчастіше використовують повну дату або місяць.
Час записують у 24-годинному форматі:
HH:MMабо з секундами:
HH:MM:SSПриклади:
<time datetime="09:05">09:05</time>
<time datetime="14:30">14:30</time>
<time datetime="18:45:20">18:45:20</time>Години, хвилини та секунди повинні містити по дві цифри:
<!-- Правильно -->
<time datetime="09:05">9:05</time>
<!-- Неправильно -->
<time datetime="9:5">9:5</time>Текст для користувача може мати інший вигляд, але значення datetime має відповідати формату HTML.
Дату і час можна об’єднати літерою T:
<time datetime="2026-07-29T14:30">
29 липня 2026 року о 14:30
</time>Також як роздільник дозволено використовувати пробіл:
<time datetime="2026-07-29 14:30">
29 липня 2026 року о 14:30
</time>Форма з T є поширеною та добре узгоджується з форматами, які використовують програми.
Якщо час залежить від часового поясу, його потрібно вказати в значенні datetime.
Зсув часового поясу записують у форматі:
+HH:MMабо:
-HH:MMПриклад:
<time datetime="2026-07-29T14:30+03:00">
29 липня 2026 року о 14:30 за київським часом
</time>Знак +03:00 означає, що місцевий час випереджає UTC на три години.
Для часу в UTC використовують суфікс Z:
<time datetime="2026-07-29T11:30Z">
29 липня 2026 року о 11:30 UTC
</time>Порівняймо:
<!-- Час без указаного часового поясу -->
<time datetime="2026-07-29T14:30">14:30 за місцевим часом</time>
<!-- Час із часовим поясом -->
<time datetime="2026-07-29T14:30+03:00">
14:30 за київським часом
</time>Якщо часовий пояс важливий для правильного розуміння події, його слід додати до datetime і пояснити користувачу в тексті.
Тривалість записують у форматі ISO 8601. Значення починається з літери P.
Найпоширеніші позначення:
D — дні;
H — години;
M — хвилини;
S — секунди;
T — роздільник між днями та часом.
Приклади:
<time datetime="P3D">3 дні</time>
<time datetime="PT2H">2 години</time>
<time datetime="PT45M">45 хвилин</time>
<time datetime="PT1H20M">1 година 20 хвилин</time>
<time datetime="P1DT2H30M">1 день 2 години 30 хвилин</time>Літера T потрібна перед часовими одиницями:
<!-- 2 години 15 хвилин -->
<time datetime="PT2H15M">2 години 15 хвилин</time>Без T значення 2H15M не є правильним записом тривалості.
Тривалість відео, аудіо, уроку або події часто позначають саме так:
<p>
Відеоурок триває
<time datetime="PT18M42S">18 хвилин 42 секунди</time>.
</p>Тривалість не є моментом часу. Для неї не потрібно вказувати дату або часовий пояс.
Нижче наведено сторінку статті з датою публікації, датою оновлення, часом події та тривалістю читання.
<!doctype html>
<html lang="uk">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Семантична дата й час</title>
<style>
body {
max-width: 720px;
margin: 40px auto;
padding: 0 16px;
font-family: system-ui, sans-serif;
line-height: 1.6;
}
.meta {
color: #555;
font-size: 0.95rem;
}
</style>
</head>
<body>
<article>
<h1>Як використовувати елемент time</h1>
<p class="meta">
Опубліковано
<time datetime="2026-07-29">29 липня 2026 року</time>.
Оновлено
<time datetime="2026-08-02">2 серпня 2026 року</time>.
</p>
<p>
Онлайн-зустріч розпочнеться
<time datetime="2026-08-10T18:30+03:00">
10 серпня о 18:30 за київським часом
</time>.
</p>
<p>
Орієнтовний час читання:
<time datetime="PT8M">8 хвилин</time>.
</p>
</article>
</body>
</html>У цьому прикладі:
видимий текст адаптований для українського читача;
datetime містить стандартизовані значення;
для дати публікації вказано лише календарну дату;
для онлайн-зустрічі вказано дату, час і часовий пояс;
для часу читання використано тривалість.
<time>Елемент доречний для:
дати публікації або оновлення;
дати початку чи завершення події;
часу зустрічі;
дати дедлайну;
тривалості відео, аудіо або уроку;
року, місяця або календарного тижня;
будь-якого іншого значення, яке програма може розпізнати як дату, час або тривалість.
Приклади:
<p>
Реєстрація відкрита до
<time datetime="2026-08-15">15 серпня 2026 року</time>.
</p>
<p>
Подія триватиме
<time datetime="PT2H30M">2 години 30 хвилин</time>.
</p>
<p>
Звіт за
<time datetime="2026-07">липень 2026 року</time>
уже доступний.
</p>Не слід використовувати <time> лише для будь-яких чисел:
<!-- Це не дата, час і не тривалість -->
<p><time>42</time> бали</p>Для такого тексту потрібні інші елементи або звичайний текст.
datetimedatetime не зобов’язаний повторювати видимий текст посимвольно:
<time datetime="2026-07-29">сьогодні</time>Однак такий запис варто використовувати обережно. Слово «сьогодні» з часом стане неправильним для користувача, хоча значення в datetime залишиться незмінним.
Краще показувати конкретну дату:
<time datetime="2026-07-29">29 липня 2026 року</time>Якщо дата формується динамічно, сервер або JavaScript можуть оновлювати і видимий текст, і значення datetime.
datetime<!-- Неправильно для datetime -->
<time datetime="29.07.2026">29 липня 2026 року</time>Атрибут datetime не повинен використовувати український локальний формат із крапками.
Правильно:
<time datetime="2026-07-29">29 липня 2026 року</time><!-- Неправильно -->
<time datetime="2026-7-9">9 липня 2026 року</time>Правильно:
<time datetime="2026-07-09">9 липня 2026 року</time><!-- Це не тривалість, а час доби -->
<time datetime="02:30">2 години 30 хвилин</time>02:30 означає час доби — 2:30. Для тривалості потрібно використовувати PT2H30M:
<time datetime="PT2H30M">2 години 30 хвилин</time><time datetime="2026-07-29T14:00">
Онлайн-зустріч о 14:00 за київським часом
</time>Якщо подію переглядатимуть люди з різних часових поясів, краще явно записати зсув:
<time datetime="2026-07-29T14:00+03:00">
Онлайн-зустріч о 14:00 за київським часом
</time><time> для стилізаціїНе потрібно використовувати <time> лише для того, щоб застосувати CSS. Семантичні елементи слід вибирати за змістом, а не за зовнішнім виглядом.
<!-- Якщо це просто виділений текст, time не підходить -->
<p><time>Важливе повідомлення</time></p><!-- Неправильно -->
<time datetime="2h 30m">2 години 30 хвилин</time>Правильний формат:
<time datetime="PT2H30M">2 години 30 хвилин</time><time> семантично позначає дату, час або тривалість.
Атрибут datetime містить машинно-читане значення.
Повну дату записують у форматі YYYY-MM-DD.
Час записують як HH:MM або HH:MM:SS.
Дату й час можна поєднати через T.
Для важливих подій варто вказувати часовий пояс, наприклад +03:00 або Z.
Тривалість записують у форматі ISO 8601: PT45M, PT2H30M, P3D.
Видимий текст може бути локалізованим і зручним для людини, а datetime — стандартизованим для програм.
<time> не змінює вигляд тексту без CSS і не призначений для звичайних чисел або декоративного форматування.