Форматы даты и времени, используемые в HTML — HTML: язык гипертекстовой разметки
Некоторые элементы HTML используют значения даты и/или времени. Форматы строк, задающих эти значения, описаны в этой статье.
Элементы, использующие такие форматы, включают определенные формы элемента , которые позволяют пользователю выбрать или указать дату, время или и то, и другое, а также элементы и , чей атрибут datetime указывает дату или дату и время, когда произошла вставка или удаление содержимого.
Для значения типа , которые возвращают значение , содержащее строку, представляющую дату и/или время:
-
date -
дата-время-местный -
месяц -
время -
неделя
Прежде чем углубляться в тонкости написания и анализа строк даты и времени в HTML, вот несколько примеров, которые должны дать вам хорошее представление о том, как выглядят наиболее часто используемые форматы строк даты и времени.
| Строка | Дата и/или время | |
|---|---|---|
07.06.2005 | 7 июня 2005 г. | [подробнее] |
08:45 | 8:45 | [подробнее] |
08:45:25 | 8:45 и 25 секунд | [подробнее] |
0033-08-04T03:40 | 3:40 4 августа 33 года | [подробнее] |
1977-04-01T14:00:30 | 30 секунд после 14:00 1 апреля 1977 г. | [подробнее] |
1901-01-01T00:00Z | Полночь по Гринвичу 1 января 1901 года | [подробнее] |
1901-01-01T00:00:01-04:00 | 1 секунда после полуночи по восточному стандартному времени (EST) 1 января 1901 года | [подробнее] |
Перед рассмотрением различных форматов строк, связанных с датой и временем, используемых элементами HTML, полезно понять несколько основных фактов о том, как они определяются.
HTML использует вариант стандарта ISO 8601 для своих строк даты и времени. Стоит просмотреть описания форматов, которые вы используете, чтобы убедиться, что ваши строки на самом деле совместимы с HTML, поскольку спецификация HTML включает алгоритмы для синтаксического анализа этих строк, которые на самом деле более точны, чем ISO 8601, поэтому могут быть тонкие различия в том, как должны выглядеть строки даты и времени.
Набор символов
Даты и время в HTML всегда являются строками, использующими набор символов ASCII.
Номера годов
Чтобы упростить базовый формат, используемый для строк даты в HTML, спецификация требует, чтобы все годы были даны с использованием современного (или пролептического ) григорианского календаря. Хотя пользовательские интерфейсы могут разрешать ввод дат с использованием других календарей, базовое значение всегда использует григорианский календарь.
Хотя григорианский календарь не был создан до 1582 года (заменив аналогичный юлианский календарь), для целей HTML григорианский календарь продлен до 1 года н.
э. Убедитесь, что все более старые даты учитывают это.
В HTML-датах год всегда должен состоять не менее чем из четырех цифр; годы до 1000 года дополняются начальными нулями (« 0 »), поэтому 72-й год записывается как 0072 . Годы до 1 года н. э. не поддерживаются, поэтому HTML не поддерживает годы 1 до н. э. (1 г. до н.э.) или ранее.
Год обычно длится 365 дней, за исключением високосных лет .
Високосный год
Високосный год — это любой год, который делится на 400 или год делится на 4, но не на 100. Хотя обычно календарный год длится 365 дней, на самом деле планете Земля требуется приблизительно 365,2422 дня, чтобы совершить один оборот вокруг Солнца. Високосные годы помогают настроить календарь, чтобы он синхронизировался с фактическим положением планеты на ее орбите. Добавление дня к году каждые четыре года, по сути, дает среднюю продолжительность года в 365,25 дня, что близко к правильному.
Корректировки алгоритма (учет високосного года, когда год делится на 400, и пропуск високосного года, когда год делится на 100) помогают еще больше приблизить среднее значение к правильному количеству дней (365,2425 дней). . Ученые время от времени добавляют в календарь високосные секунды (серьезно), чтобы справиться с оставшимися тремя десятитысячными дня и компенсировать постепенное, естественное замедление вращения Земли.
В то время как месяц 02 , февраль, обычно имеет 28 дней, в високосные годы 29 дней.
Месяцы года
В году 12 месяцев, пронумерованных от 1 до 12. Они всегда представлены строкой ASCII из двух цифр, значение которой находится в диапазоне от 01 до 12 . См. таблицу в разделе «Дни месяца» для номеров месяцев и соответствующих им названий (и длины в днях).
Дни месяца
Это подробно описано в следующей таблице.| Номер месяца | Имя (на английском языке) | Продолжительность в днях |
|---|---|---|
| 01 | января | года31 |
| 02 | февраля | 28 (29 в високосные годы) |
| 03 | марта | 31 |
| 04 | апрель | 30 |
| 05 | май | 31 |
| 06 | июнь | 30 |
| 07 | июль | 31 |
| 08 | 9 августа0062 | 31 |
| 09 | сентября | 30 |
| 10 | октябрь | 31 |
| 11 | ноябрь | 30 |
| 12 | декабрь | 31 |
Строка недели указывает неделю в определенном году.
Строка допустимой недели состоит из действительного номера года, за которым следует символ дефиса (« -
W » (U+0057), за которой следует двузначное значение недели года. Неделя года представляет собой двузначное число строка между 01 и 53 . Каждая неделя начинается в понедельник и заканчивается в воскресенье. Это означает, что первые несколько дней января можно считать частью предыдущей недели-года, а последние несколько дней декабря считаться частью следующей недели года. Первая неделя года – это неделя, содержащая первый четверг года. Например, первый четверг 1953 года приходится на 1 января, поэтому эта неделя, начинающаяся в понедельник, 29 декабря, считается первой неделей года. Таким образом, 30 декабря 1952 года приходится на неделю 1953-W01 .
В году 53 недели, если:
- Первый день календарного года (1 января) приходится на четверг или
- Первый день года (1 января) — среда, а год — високосный

| Строка недели | Неделя и год (диапазон дат) |
|---|---|
2001-W37 | 37 неделя 2001 г. (10–16 сентября 2001 г.) |
1953-W01 | 1-я неделя 1953 г. (29 декабря 1952 г. — 4 января 1953 г.) |
1948-W53 | 53 неделя 1948 г. (27 декабря 1948 г. — 2 января 1948 г.)49) |
1949-W01 | 1-я неделя 1949 г. (3-9 января 1949 г.) |
0531-W16 | Неделя 16, 531 (13-19 апреля, 531) |
0042-W04 |
Обратите внимание, что и год, и номер недели дополняются ведущими нулями, год дополняется четырьмя цифрами, а неделя — двумя.
Строка месяца представляет конкретный месяц во времени, а не общий месяц года.
То есть вместо «января» строка месяца HTML представляет месяц и год в паре, например «январь 1972 года».
Строка допустимого месяца состоит из действительного номера года (строка из не менее четырех цифр), за которым следует символ дефиса (» - » или U+002D), за которым следует двузначный числовой месяц. номер, где 01 представляет январь, а 12 представляет декабрь.
| Строка месяца | Месяц и год |
|---|---|
17310-09 | сентября 17310 |
2019-01 | январь 2019 г. |
1993-11 | ноябрь 1993 г. |
0571-04 | апреля 571 |
0001-07 | 1 июля | г. н. э.
Обратите внимание, что все годы имеют длину не менее четырех символов; годы, длина которых меньше четырех цифр, дополняются ведущими нулями.
Допустимая строка даты состоит из строки месяца, за которой следует символ дефиса (« - » или U+002D), за которым следует двузначный день месяца.
| Строка даты | Полная дата |
|---|---|
1993-11-01 | 1 ноября 1993 г. |
1066-10-14 | 14 октября 1066 |
0571-04-22 | 22 апреля 571 |
0062-02-05 | 5 февраля 62 |
Строка времени может указывать время с точностью до минуты, секунды или миллисекунды. Запрещается указывать только часы или минуты. А действительная строка времени как минимум состоит из двухзначного числа часов, за которым следует двоеточие (« : «, U+003A), а затем двузначное число минут. За минутой может дополнительно следовать еще одно двоеточие и двузначное количество секунд.
Миллисекунды могут быть указаны, опционально, путем добавления символа десятичной точки (« . «, U+002E), за которым следует одна, две или три цифры.
Есть несколько дополнительных основных правил:
- Час всегда указывается в 24-часовом формате, с
00— полночь, а 23:00 —23. Никакие значения вне диапазона00–23не допускаются. - Минуты должны быть двузначными числами от
00до59. Никакие значения за пределами этого диапазона не допускаются. - Если количество секунд опущено (чтобы указать время с точностью до минуты), двоеточие не должно следовать за количеством минут.
- Если указано, целая часть количества секунд должна быть между
00и59. Вы не можете указать високосные секунды, используя такие значения, как60или61. - Если количество секунд указано и является целым числом, за ним не должно следовать десятичная точка.

- Если включены доли секунды, это может быть от одной до трех цифр, указывающих количество миллисекунд. Он следует за десятичной точкой, расположенной после компонента секунд в строке времени.
| Строка времени | Время |
|---|---|
00:00:30.75 | 00:00:30:75 (через 30,75 секунды после полуночи) |
12:15 | 12:15 |
13:44:25 | 13:44:25 (через 25 секунд после 13:44) |
Действительная строка datetime-local состоит из строки даты и 9Строка 0005 time , объединенная буквой » T » или разделяющим их символом пробела. В строку не включается информация о часовом поясе; предполагается, что дата и время соответствуют местному часовому поясу пользователя.
Когда вы устанавливаете значение ввода datetime-local , строка нормализована в стандартную форму.
В нормализованных строках datetime всегда используется буква » T » для разделения даты и времени, а временная часть строки должна быть как можно короче. Это делается путем исключения компонента секунд, если его значение равно 9.0005 :00 .
| Строка даты/времени | Нормализованная строка даты/времени | Фактическая дата и время |
|---|---|---|
1986-01-28T11:38:00.01 | 1986-01-28T11:38:00.01 | 28 января 1986 г., 11:38:00.01 |
1986-01-28 11:38:00.010 | Обратите внимание, что после нормализации это та же строка, что и предыдущая. | 28 января 1986 г., 11:38:00.01 |
0170-07-31T22:00:00 | Обратите внимание, что нормализованная форма этой даты отбрасывает
« | 31 июля 170, 22:00 |
Глобальная строка даты и времени указывает дату и время, а также часовой пояс, в котором она находится. Действительная глобальная строка даты и времени имеет тот же формат, что и локальная строка даты и времени, за исключением того, что в конце после времени добавляется строка часового пояса.
Строка смещения часового пояса
Строка смещения часового пояса указывает смещение в положительном или отрицательном числе часов и минут от стандартной временной базы. Есть две стандартные временные базы, которые очень близки к одному и тому же, но не совсем одно и то же:
- Для дат после введения всемирного координированного времени (UTC) в начале 1960-х годов базой времени является
Z, а смещение указывает на смещение конкретного часового пояса относительно времени на нулевом меридиане на 0° долготы (который проходит через Королевская обсерватория в Гринвиче, Англия). - Для дат, предшествующих UTC, временная база вместо этого выражается в терминах UT1, что является современным земным солнечным временем в нулевом меридиане.
Строка часового пояса добавляется сразу после времени в строке даты и времени. Вы можете указать » Z » в качестве строки смещения часового пояса, чтобы указать, что время указано в формате UTC.
В противном случае строка часового пояса строится следующим образом:
- Символ, указывающий знак смещения: знак плюса (»
+«, или U+002B) для часовых поясов к востоку от нулевого меридиана или знак минус («-«, или U+002D) для часовых поясов к западу от нулевого меридиана. - Двузначное число часов, на которое часовой пояс смещен от нулевого меридиана. Это значение должно быть между
00и23. - Необязательный символ двоеточия («
:«). - Двузначное число минут после часа; это значение должно быть между
00и59.
Хотя этот формат позволяет использовать часовые пояса между -23:59 и +23:59, текущий диапазон смещения часовых поясов составляет от -12:00 до +14:00, и часовые пояса в настоящее время не смещены относительно часа. кроме 00 , 30 или 45 минут. Это может измениться более или менее в любое время, поскольку страны могут свободно вмешиваться в свои часовые пояса в любое время и любым способом, которым они хотят это сделать.
| Глобальная строка даты и времени | Текущие глобальные дата и время | Дата и время нулевого меридиана |
|---|---|---|
2005-06-07T00:00Z | 7 июня 2005 г., полночь 9 UTC.0062 | 7 июня 2005 г., полночь |
1789-08-22T12:30:00.1-04:00 | 22 августа 1789 года, десятая доля секунды после 12:30 по восточному поясному времени. Время (восточноевропейское время) | 22 августа 1789 года в десятую долю секунды после 16:30 |
3755-01-01 00:00+10:00 | 1 января 3755 года в полночь по восточному стандартному австралийскому времени (AEST) | 31 декабря 3754, 14:00 |
-
<ввод> -
и: см.
атрибут datetime, который указывает либо дату, либо локальную дату и время, когда содержимое было вставлено или удалено - Спецификация ISO 8601
- Числа и даты в руководстве по JavaScript
- JavaScript
Датаобъект - Объект
Intl.DateTimeFormatдля форматирования даты и времени для данной локали
Обнаружили проблему с содержанием этой страницы?
- Отредактируйте страницу на GitHub.
- Сообщить о проблеме с содержимым.
- Посмотреть исходный код на GitHub.
Хотите принять больше участия?
Узнайте, как внести свой вклад.
Последний раз эта страница была изменена участниками MDN.
Типы ввода даты и времени
Могу ли я использовать
Поиск?
Типы ввода даты и времени
— ЛС- global»>
Глобальное использование
74,96% + 21,78% «=» 96,74% Виджеты поля формы, позволяющие пользователям легко вводить дату, время или и то, и другое, как правило, с помощью виджета ввода календаря/времени. Относится к поддержке следующих типов ввода: дата , время , datetime-local , месяц и неделя .
Chrome
- 4–19: не поддерживается
- 20–24: частичная поддержка
- 25–111: поддерживается
- 112: поддерживается
- 113 — 115: поддерживается
Edge
- 12: частичная поддержка
- 13–111: поддерживается 00% — Supported»> 112: поддерживается
Safari
- 3.1–14: не поддерживается
- 14.1–16.3: частичная поддержка 9002 6
- 16.4: Частичная поддержка
- 16.5 — TP: Частичная поддержка
Firefox
- 2–52: не поддерживается
- 53–56: отключено по умолчанию
- 57–92: частичная поддержка
- 93–111: частичная поддержка 9002 6
- 112: Частичная поддержка
- 113 — 114: Частичная поддержка
Opera
- 71% — Supported»> 9–94: поддерживается
- 95: поддерживается
IE
- 5,5–10: не поддерживается
- 11: не поддерживается
Chrome для Android
- 112: поддерживается
Safari на iOS
- 3.2–4.3: не поддерживается
- 5–16.3: частичная поддержка
- 16.4: частичная поддержка 9086 0 16.5: Частичная поддержка
Samsung Internet
- 4 — 19.0: Поддерживается
- 20: Поддерживается
Opera Mini
- все: Не поддерживается


Пространство было заменено на
символ «
атрибут