Интервал считается по календарю или по фиксированному времени?
Годы и месяцы вычисляйте относительно конкретного начала. Приблизительные секунды годятся лишь для грубой проверки, но не для даты конца месяца.
Elysia Tools
Навигация
Workflow Playbook
Получите календарно вычисленную конечную дату из начала и длительности, затем проверьте неделю ISO и финансовый квартал отчёта.
Темы
Для передачи проверяемого отчётного периода недостаточно одной строки даты. Сохраните исходное значение, основной часовой пояс, если это конкретный момент, и решение о включении либо исключении конечного дня. iso-8601-converter приводит начало к устойчивому виду, но исходная запись должна остаться рядом. Если правило касается только календарных дней, не превращайте дату без времени в момент UTC без согласования. Когда команды по-разному понимают часовой пояс, сначала утвердите единый подход. Общая очистка форматов и расчёт сроков относятся к более широкому процессу date-time-scheduling.
С помощью iso-8601-duration-builder преобразуйте правило вроде одного календарного месяца в длительность ISO. Приблизительное количество секунд позволяет заметить грубую ошибку, но не задаёт конечную дату. Затем передайте то же начало и точную строку в iso-8601-duration-parser-arithmetic-workbench для календарного расчёта. Прибавление месяца к концу января может привести к концу февраля; тридцать фиксированных дней означают другую задачу. Если строка смешивает недели с другими компонентами или начинается со знака, выясните, принимает ли система ISO 8601-2 или только строгое ISO 8601-1. Сохраните выражение для повторной проверки.
Для начальной и конечной дат запустите iso-week-number-and-fiscal-quarter-anchor. Прежде чем ставить ярлык квартала, выберите стандартную схему, 4-4-5, 4-5-4 или тринадцать недель и месяц начала финансового года. Вблизи Нового года год-неделя ISO может отличаться от календарного года; записывайте год вместе с номером недели. Итоговая запись содержит источник, начало ISO, длительность, конец, правило часового пояса или чистой даты, включение конца и финансовый календарь. Сравните соседний период на пробелы и пересечения. Для повторяющихся встреч и экспорта ICS используйте calendar-recurrence-and-ics-scheduling; здесь определяется только одно окно отчётности.
Руководство по рабочему процессу
Переведите исходную дату или время в устойчивую форму ISO; сохраните исходный пояс или явно выберите режим даты без времени.
Переведите словесный интервал в длительность ISO и проверьте компоненты и совместимость с ISO 8601-1.
Разберите точную длительность и примените календарную арифметику к началу, проверяя корректировку конца месяца.
Проверьте начало и конец по выбранному финансовому календарю; сохраните год-неделю ISO, квартал и правило для конца.
Годы и месяцы вычисляйте относительно конкретного начала. Приблизительные секунды годятся лишь для грубой проверки, но не для даты конца месяца.
Не смешивайте недели с другими единицами и избегайте начального знака, если система не поддерживает расширения ISO 8601-2.
До разметки начала и конца выберите стандартную схему, 4-4-5, 4-5-4 или равные 13-недельные кварталы.