Кратко
СкопированоЭлемент <time>
служит для разметки дат, времени или периода времени: в содержимое тега идёт формат для человека, а в атрибут datetime
версия для машин — поисковому роботу точно понравится 🙂
У <time>
есть роль time
. Это делает тег полезным не только для поисковых роботов, но и для скринридеров. Вспомогательные технологии не рассказывают пользователям, что это время, но зачитывают содержимое datetime
в понятном человеку формате.
Пример
СкопированоТак можно указать конкретную дату:
Дока вышла в релиз <time datetime="2021-10-12">12 октября 2021</time>
Дока вышла в релиз <time datetime="2021-10-12">12 октября 2021</time>
Добавим время и зону:
Челябинский метеорит вошёл в земную атмосферу<time datetime="2013-02-15T09:20+06:00"> 15 февраля 2013 около 09:20</time>
Челябинский метеорит вошёл в земную атмосферу <time datetime="2013-02-15T09:20+06:00"> 15 февраля 2013 около 09:20 </time>
А так можно указать временной интервал:
Самый длинный клип Twenty One Pilots на песню Level of Concern длится<time datetime="117d 16h 10m 25s">177 дней, 16 часов, 10 минут и 25 секунд</time>
Самый длинный клип Twenty One Pilots на песню Level of Concern длится <time datetime="117d 16h 10m 25s">177 дней, 16 часов, 10 минут и 25 секунд</time>
Как пишется
СкопированоВся магия элемента кроется в атрибуте datetime
, который принимает значение формата
YYYY
.
YYYY
: год 4 цифры (прим. 2009);MM
: месяц 2 цифры (прим. 05);DD
: день 2 цифры (прим. 04);T
: разделитель даты и времени, можно заменить пробелом;hh
: часы 2 цифры (прим. 18 для 06.00pm);mm
: минуты 2 цифры (прим. 34);ss
: секунды 2 цифры (прим. 40);TZD
: Обозначение часового пояса (прим. +02:00 для Каира).
<time datetime="2021-07">Солнечный июль</time>
<time datetime="2021-07">Солнечный июль</time>
Который можно опустить, если внутри тега валидное значение атрибута datetime
:
<time>2021-07</time>
<time>2021-07</time>
Как понять
СкопированоС датами приходится работать регулярно: напоминания, сообщения, события… Представьте, что браузер или любой другой HTML-интерпретатор сможет распознать существующие даты на странице.
Это позволит:
- добавить событие в календарь;
- автоматически преобразовать дату в пользовательский формат, указанный браузером;
- адаптировать дату и время в соответствии с временной зоной пользователя;
- агрегаторам контента автоматически генерировать временную шкалу событий;
- улучшить доступность даты и времени для считывающих программ;
- поисковикам улучшать результаты выдачи на основе актуальности контента.
Если оборачивать даты в простые блоки <div>
или другие элементы, они будут восприниматься интерпретатором как простой текст, без возможности распознания и машинной обработки.
Примеры в машинном формате
СкопированоСодержимое атрибута datetime
для машин чаще всего и генерируется машиной, но если вы человек и вам нужно указать его самостоятельно, либо написать скрипт для такого вывода, эти примеры для вас.
Год и месяц
Скопировано2014
— год перед месяцем.
Дата
Скопировано1969
— год, месяц, потом день.
Дата без года
Скопировано12
— месяц перед днём.
Только время
Скопировано14
— час, минуты, потом секунды.
Секунды не обязательно. Доли можно указать тремя цифрами после точки.
Дата и время
Скопировано2013
— комбинация даты и времени, разделяется заглавной T
.
Временная зона
Скопировано+06
— начинается с плюса или минуса. Двоеточие не обязательно.
+00:00, или UTC время, можно указать большой буквой Z
.
Локальное время и дата
Скопировано2019
.
То же самое, что дата и время, только с временной зоной.
Год и неделя
Скопировано2010
— сначала год, потом количество недель после большой W
.
Только год
Скопировано1776
— 4 цифры или больше, работает и так 0001
, и так 12345
.
Длительность (способ 1)
СкопированоP2DT2H30M10
— заглавная P
, день (необязательно), заглавная T
, дальше необязательные часы, минуты и секунды.
Все буквы должны быть заглавными.
Длительность (способ 2)
Скопировано1w 2d 2h 30m 10
— неделя (w
), день (d
), час (h
), минута (m
) и секунда (s
).
Буквы могут быть маленькими и большими. Пробелы не обязательны.