Показать / скрыть оглавление

    Период

    Тип данных Период позволяет задавать промежутки времени и работать с ними.

    Правила описания

    Период может быть получен тремя способами:

    1. Вычитанием двух дат Дата(2020;02;28) - Дата(2019;02;28);
    2. Автоматически выведен из строкового литерала '2020-09-21 13:23:24' - '3 дня 1:23:24';
    3. Вызовом одной из следующих функций:
    Период(года: ЦЕЛОЕ_ЧИСЛО; месяцы: ЦЕЛОЕ_ЧИСЛО; дни: ЦЕЛОЕ_ЧИСЛО);  
    Период(года: ЦЕЛОЕ_ЧИСЛО; месяцы: ЦЕЛОЕ_ЧИСЛО; дни: ЦЕЛОЕ_ЧИСЛО; часы: ЦЕЛОЕ_ЧИСЛО; минуты: ЦЕЛОЕ_ЧИСЛО; секунды:   ЦЕЛОЕ_ЧИСЛО);
    Период(период: СТРОКА). 
    

    Кроме того, период может быть описан строкой, заключенной в одинарные или двойные кавычки, которая состоит из последовательности целых чисел, за каждым из которых следует название компонента периода. Порядок компонентов не важен, но каждый компонент может встречаться не более одного раза. Поддерживаются следующие компоненты:

    • Год: г, л, год, года, лет;
    • Месяц: м, мес, месяц, месяца, месяцев;
    • День: д, ден, день, дня, дней;
    • Часы: ч, час, часа, часов;
    • Минуты: мин, минута, минуты, минут. Сокращение м уже занято месяцем;
    • Секунды: с, сек, секунда, секунды, секунд.

    Часы, минуты и секунды также могут быть заданы через : в одном из следующих форматов (без указания названия компонентов):
    часы и минуты: ч:мин, где ч и мин - целые неотрицательные числа;
    часы, минуты и секунды: ч:мин:c, где ч, мин и c - целые неотрицательные числа.
    Год, месяц и день могут быть заданы через -:

    2020-09-21
    

    Пример описания периода

    '1:30' -- 1 час 30 минут
    '0:0:123' -- 123 секнды
    '124 с' -- 124 секунды
    '1д 1:23:24 5м 4 года' -- 4 года, 5 месяцев, 1 день, 1 час, 23 минуты, 24 секунды
    '3 лет 7 дня' -- 3 года, 7 дней. Правильность склонений не проверяется
    '1г' -- 1 год
    '13 м' -- 13 месяцев
    '13 мин' -- 13 минут
    

    Доступные операции

    • Операции сравнения
    • Другие операции
    • Сложение (+)
    ПЕРИОД + ДАТА -> ДАТА
    ДАТА + ПЕРИОД-> ДАТА
    ПЕРИОД + ПЕРИОД -> ПЕРИОД
    
    • Вычитание(-)
    ДАТА - ДАТА -> ПЕРИОД
    ДАТА - ПЕРИОД -> ДАТА
    ПЕРИОД - ПЕРИОД -> ПЕРИОД
    
    Замечание

    Количество дней в месяце, как и количество часов в дне, в общем случае неизвестно, поэтому для корректности вычислений период представлен в виде трех чисел - количество месяцев, количество дней и количество секунд. Год всегда может быть пересчитан в месяцы, а часы и минуты - в секунды.

    В начало страницы Справочная система Колибри. Группа компаний Октоника, 2022