# Конструктор длительности ISO 8601

Двустороннее преобразование между длительностью естественным языком и ISO 8601 (PnYnMnDTnHnMnS) с проверкой крайних случаев

> Каноническая страница: https://elysiatools.com/ru/tools/iso-8601-duration-builder

- **Категория:** Development

- **Ключевые слова:** iso 8601, длительность, преобразовать, интервал

## Обзор

Двусторонний конвертер длительностей ISO 8601 (формат интервала «PnYnMnDTnHnMnS»), дополняющий конвертер точек даты/времени ISO 8601.

Естественный язык → ISO 8601: введите «3 years 2 months 14 days», «2.5 hours», «36 hours», «1 week 12 hours», «3天2小时» или слитные формы «2h30m» / «3days». Распознаёт английские слова, числа словами («two») и китайские цифры/единицы, выдавая каноническую строку ISO 8601.

ISO 8601 → естественный язык: вставьте P3Y2M14D, PT36H, P1W, P0.5D и т. д. — получите читаемый разбор и значения компонентов.

Проверка покрывает сложные правила ISO 8601:
- После «T» должны идти единицы времени (H/M/S), а не даты.
- Недели (W) нельзя сочетать с годами, месяцами или днями.
- Десятичные дроби допускаются только в наименьшем компоненте.
- Нужен хотя бы один компонент (одиночное P недопустимо).

Также приводится примерный итог в секундах/минутах/часах/днях (1 год ≈ 365,25 д, 1 мес ≈ 30,4375 д).

## Входные данные

- **Ввод** (text): Natural: 3 years 2 months 14 days · 2h30m · 3天2小时 ISO 8601: P3Y2M14D · PT2H30M · P1WT12H
- **Направление** (select)

## Когда использовать

- При проектировании API или баз данных, где требуется сохранить интервалы времени в стандартизированном формате ISO 8601.
- Для быстрого перевода сложных строк длительности вроде "3 years 2 months 14 days" или "2h30m" в валидный формат P3Y2M14D или PT2H30M.
- При необходимости разобрать и проверить на соответствие спецификации ISO 8601 сторонние строки интервалов с расчетом общего количества секунд.

## Как это работает

- Введите длительность в текстовое поле в виде естественного языка (например, "2.5 hours", "3 days") или в формате ISO 8601 (например, "PT2H30M").
- Выберите направление конвертации в меню или оставьте автоматическое определение ("Auto").
- Инструмент мгновенно проверит строку на соответствие правилам стандарта (например, запрет на смешивание недель с днями или неверное положение символа T) и выведет результат с подробным разбором компонентов.

## Сценарии использования

- Разработка конфигурационных файлов для планировщиков задач, где интервалы выполнения задаются в формате ISO 8601.
- Локализация и перевод машиночитаемых интервалов времени в понятный для пользователей текстовый вид на веб-страницах.
- Валидация пользовательского ввода интервалов времени перед отправкой данных на бэкенд.

## Частые вопросы

### Можно ли в формате ISO 8601 сочетать недели (W) с днями (D) или месяцами (M)?

Нет, стандарт ISO 8601 запрещает комбинировать недели с другими единицами измерения даты (Y, M, D) в одной строке.

### Для чего нужен символ "T" в строке длительности?

Символ "T" отделяет компоненты даты (годы, месяцы, дни) от компонентов времени (часы, минуты, секунды).

### Допускаются ли десятичные дроби в значениях?

Да, но десятичная дробь (например, P0.5D) может использоваться только для самого последнего (наименьшего) указанного компонента длительности.

### Как инструмент рассчитывает общее количество секунд для месяцев и лет?

Расчет производится по стандартным календарным соглашениям: 1 год принимается равным 365,25 дня, а 1 месяц — 30,4375 дня.

### Поддерживает ли конвертер русскоязычный ввод?

Инструмент распознает английские и китайские фразы, слитные сокращения вроде "2h30m", а также стандартные строки ISO 8601.

## Связанные инструменты

- [Объяснитель выражений Cron](https://elysiatools.com/ru/tools/cron-expression-explainer): Разбирает cron-выражение (5/6 полей или Quartz) в описание на естественном языке, разбивает по полям и выводит следующие N запусков в любой зоне IANA, с ИИ-объяснением
- [Конвертер cURL в Go (net/http)](https://elysiatools.com/ru/tools/curl-to-go): Преобразует команду cURL в фрагмент кода Go net/http с http.NewRequest, заголовками и телом
- [Конвертер cURL в JavaScript (axios)](https://elysiatools.com/ru/tools/curl-to-js-axios): Преобразует команду cURL в фрагмент кода JavaScript axios с объектом конфигурации, заголовками и данными
- [Конвертер cURL в JavaScript (fetch)](https://elysiatools.com/ru/tools/curl-to-js-fetch): Преобразует команду cURL в фрагмент кода JavaScript fetch() с заголовками, телом и методом
- [Конвертер cURL в PHP (cURL)](https://elysiatools.com/ru/tools/curl-to-php): Преобразует команду cURL в фрагмент кода PHP cURL с curl_setopt, заголовками и POST-полями
- [Конвертер cURL в Python (requests)](https://elysiatools.com/ru/tools/curl-to-python): Преобразует команду cURL в фрагмент кода Python requests с заголовками, данными и методом
- [Тестер HTTP-запросов](https://elysiatools.com/ru/tools/http-request-tester): Лёгкий HTTP-клиент в браузере (мини-Postman): отправляйте GET/POST/PUT/DELETE-запросы с пользовательскими заголовками и телом, проверяйте статус, заголовки, время и форматированный ответ — всё в браузере
- [Стресс-тестер API-контрактов](https://elysiatools.com/ru/tools/api-contract-stress-tester): Создает граничные тесты по OpenAPI 3.x и при необходимости отправляет их в реальный backend для поиска расхождений с контрактом.

## Примеры

- [Примеры Обработки Изображений Web Python](https://elysiatools.com/ru/samples/web-image-processing-python): Примеры обработки изображений Web Python используя PIL/Pillow включая чтение, сохранение, изменение размера и преобразование формата
- [Примеры Обработки Изображений Android Java](https://elysiatools.com/ru/samples/android-image-processing-java): Примеры обработки изображений Android Java включая чтение/сохранение, масштабирование и преобразование формата
- [Примеры Обработки Изображений Android Kotlin](https://elysiatools.com/ru/samples/android-image-processing-kotlin): Примеры обработки изображений Android Kotlin включая чтение/сохранение, масштабирование и преобразование формата
- [Примеры Обработки Изображений Web Rust](https://elysiatools.com/ru/samples/web-image-processing-rust): Примеры обработки изображений Web Rust включая чтение/запись, масштабирование и преобразование форматов
