## Типы дат и времени

Типы дат в Mask обеспечивают автоматическое форматирование и валидацию для ввода даты и времени с учётом локализации.

**Доступные типы:**

- `date`, `datetime`, `full` — полные форматы даты и времени
- `time`, `hour-minute`, `hour`, `minute`, `second` — компоненты времени
- `year`, `year-month`, `month`, `day`, `day-month` — компоненты даты

Все типы дат автоматически создают маски согласно региональным настройкам, игнорируя свойство `mask`. Структура маски определяется локалью через `language` (DD.MM.YYYY для русского, MM/DD/YYYY для английского).

Валидация даты происходит на уровне ввода — проверяется корректность числовых значений, количество дней в месяце (включая високосные годы), диапазоны значений (месяцы 01-12, дни 01-31, часы 00-23). Время работает в 24-часовом формате.

```html
<!-- Полная дата -->
<Mask type="date" language="ru" />

<!-- Дата и время -->
<Mask type="datetime" language="ru" />

<!-- Только время -->
<Mask type="time" />
```

### Типы

#### date

Полная дата в формате локали (день, месяц, год). Автоматически генерирует структуру согласно языковым настройкам: DD.MM.YYYY для русского, MM/DD/YYYY для английского. Разделитель определяется локалью (точка, слэш, дефис).

#### datetime

Дата и время в формате локали. Комбинирует маску даты и времени, разделяя их пробелом. Формат даты определяется языком, формат времени обычно HH:MM. Валидирует как дату, так и время.

#### full

Полная дата и время с секундами. Расширенная версия `datetime` с добавлением секунд в формат времени (HH:MM:SS).

#### time

Время в формате HH:MM:SS. Генерирует маску для ввода времени с валидацией диапазонов (0-23 для часов, 0-59 для минут и секунд).

#### hour-minute

Часы и минуты в формате HH:MM. Короткая версия времени без секунд. Валидирует диапазоны (0-23 для часов, 0-59 для минут).

#### hour

Только часы (00-23). Маска для ввода часов с валидацией диапазона от 0 до 23.

#### minute

Только минуты (00-59). Маска для ввода минут с валидацией диапазона от 0 до 59.

#### second

Только секунды (00-59). Маска для ввода секунд с валидацией диапазона от 0 до 59.

#### year

Год (обычно 4 цифры). Создаёт простую числовую маску для года. Формат может варьироваться в зависимости от локали (YYYY, YY).

#### year-month

Год и месяц. Комбинирует маску года и месяца. Формат зависит от локали (YYYY/MM, YYYY-MM).

#### month

Месяц (01-12). Маска для ввода месяца с валидацией диапазона от 01 до 12.

#### day

День месяца (01-31). Маска для ввода дня с валидацией диапазона от 01 до 31.

#### day-month

День и месяц. Комбинирует маску дня и месяца без года. Полезно для дней рождения, праздников.

### Локализация

Форматы автоматически адаптируются к локали через свойство `language`:

**Русский (ru):**
- Формат даты: DD.MM.YYYY
- Разделитель: точка
- Пример: `31.12.2024`

**Английский (en-US):**
- Формат даты: MM/DD/YYYY
- Разделитель: слэш
- Пример: `12/31/2024`

**Немецкий (de):**
- Формат даты: DD.MM.YYYY
- Разделитель: точка
- Пример: `31.12.2024`

```html
<Mask type="date" language="ru" />
<!-- Результат: 31.12.2024 -->

<Mask type="date" language="en-US" />
<!-- Результат: 12/31/2024 -->

<Mask type="datetime" language="ru" />
<!-- Результат: 31.12.2024 14:30 -->

<Mask type="time" />
<!-- Результат: 14:30:45 -->
```
