Link Search Menu Expand Document

Длительность

Стд::Время::Длительность
Базовые типы: Объект, Представляемое, Сравнимое<Длительность>, Форматируемое

Иерархия типа

graph BT;
Длительность-->Форматируемое;
Форматируемое-->Представляемое;
Представляемое-->Объект;
Длительность-->Сравнимое&ltДлительность&gt;
Сравнимое&ltДлительность&gt-->Объект;

Количество времени с точностью до миллисекунд. Может быть отрицательным. Максимальное значение 999999999999999мс. Минимальное значение -999999999999999мс.

Сравнение структурное. Два экземпляра длительности равны, если равны их компоненты (часы, минуты, секунды, миллисекунды).


Примеры

  • 30с - 30 секунд
  • 2ч30м - 2 часа 30 минут

Литералы

Литерал имеет вид [+|-][<А>д][<Б>ч][<В>м][<Г>с][<Д>мс]. Любой элемент может быть опущен, если соответствующее значение равно нулю. Где:

  • <А> - значение дней
  • <Б> - значение часов
  • <В> - значение минут
  • <Г> - значение секунд
  • <Д> - значение миллисекунд

Арифметические операции

  • Длительность + Длительность = Длительность (сложение)
  • Длительность - Длительность = Длительность (вычитание)
  • Длительность * Число = Длительность (умножение)
  • Длительность / Число = Длительность (деление)
  • -Длительность = Длительность (унарный минус)

Приоритет операций (в порядке уменьшения):

  • Выражения в круглых скобках
    • (унарный минус)
  • Операции *, /
  • Операции +, -

Конструкторы

Длительность

Длительность(
  Часы: Число,
  Минуты: Число,
  Секунды: Число,
  Миллисекунды: Число,
  Отрицательная: Булево = Ложь)
Перегрузка:
Длительность(Дни: Число, Часы: Число, Минуты: Число, Секунды: Число, Миллисекунды: Число, Отрицательная: Булево = Ложь)

Создает новый экземпляр длительности с заданными компонентами Минуты, Секунды, Миллисекунды и признаком отрицательности Отрицательная.


Длительность

Длительность(
  Дни: Число,
  Часы: Число,
  Минуты: Число,
  Секунды: Число,
  Миллисекунды: Число,
  Отрицательная: Булево = Ложь)
Перегрузка:
Длительность(Часы: Число, Минуты: Число, Секунды: Число, Миллисекунды: Число, Отрицательная: Булево = Ложь)

Создает новый экземпляр длительности с заданными компонентами Дни, Минуты, Секунды, Миллисекунды и признаком отрицательности Отрицательная.


Свойства

Дни

ТолькоЧтение Дни: Число

Количество дней.


Миллисекунды

ТолькоЧтение Миллисекунды: Число

Количество миллисекунд.


Минуты

ТолькоЧтение Минуты: Число

Количество минут.


Секунды

ТолькоЧтение Секунды: Число

Количество секунд.


Часы

ТолькоЧтение Часы: Число

Количество часов.


Методы

ВДнях

ВДнях(): Число

Возвращает целое количество дней, соответствующее данному экземпляру длительности.


ВМиллисекундах

ВМиллисекундах(): Число

Возвращает целое количество миллисекунд, соответствующее данному экземпляру длительности.


ВМинутах

ВМинутах(): Число

Возвращает целое количество минут, соответствующее данному экземпляру длительности.


ВСекундах

ВСекундах(): Число

Возвращает целое количество секунд, соответствующее данному экземпляру длительности.


ВСтроку

ВСтроку(): Строка
Переопределение: ВСтроку

Возвращает строковое представление длительности в формате "чч:мм:сс.ССС", где “чч” - суммарное с днями количество часов. Пример: "60:12:30.653".


ВФорматеIso

ВФорматеIso(): Строка

Возвращает строковое представление длительности в формате ISO-8601 вида P[n]DT[n]H[n]M[n].[n]S, где

  • [n] - подставляемое значение той или иной единицы времени;
  • P - обозначение периода (указывается в начале строкового представления);
  • D - обозначение дней;
  • T - указатель, что дальше будут идти компоненты времени;
  • H - обозначение часов;
  • M - обозначение минут;
  • S - обозначение секунд и миллисекунд (следуют друг за другом через точку).

В случае равенства нулю значения некоторой временной единицы в длительности, она пропускается. Длительность, равная нулю, форматируется как “PT0S”.

Примеры

Англоязычное использование Русскоязычное использование Результат
0h.InIsoFormat() 0ч.ВФорматеIso() PT0S
6d5ms.InIsoFromat() 6д5мс.ВФорматеIso() P6DT0.005S
240h.InIsoFormat() 240ч.ВФорматеIso() P10D
300h.InIsoFormat() 300ч.ВФорматеIso() P12DT12H
(-300h).InIsoFormat() (-300ч).ВФорматеIso() -P12DT12H

ВЧасах

ВЧасах(): Число

Возвращает целое количество часов, соответствующее данному экземпляру длительности.


ДобавитьДни

ДобавитьДни(Дни: Число): Длительность

Создает длительность из указанного количества дней Дни.


ДобавитьМиллисекунды

ДобавитьМиллисекунды(Миллисекунды: Число): Длительность

Возвращает новый экземпляр длительности, полученный путем добавления указанного количество миллисекунд Миллисекунды к текущему значению.


ДобавитьМинуты

ДобавитьМинуты(Минуты: Число): Длительность

Возвращает новый экземпляр длительности, полученный путем добавления указанного количество минут Минуты к текущему значению.


ДобавитьСекунды

ДобавитьСекунды(Секунды: Число): Длительность

Возвращает новый экземпляр длительности, полученный путем добавления указанного количество секунд Секунды к текущему значению.


ДобавитьЧасы

ДобавитьЧасы(Часы: Число): Длительность

Создает длительность из указанного количества часов Часы.


ИзДней

Статический ИзДней(Дни: Число): Длительность

Создает длительность из указанного количества дней Дни.


ИзМиллисекунд

Статический ИзМиллисекунд(Миллисекунды: Число): Длительность

Создает длительность из указанного количества миллисекунд Миллисекунды.


ИзМинут

Статический ИзМинут(Минуты: Число): Длительность

Создает длительность из указанного количества минут Минуты.


ИзСекунд

Статический ИзСекунд(Секунды: Число): Длительность

Создает длительность из указанного количества секунд Секунды.


ИзЧасов

Статический ИзЧасов(Часы: Число): Длительность

Создает длительность из указанного количества часов Часы.


Нулевая

Нулевая(): Булево

Проверяет что длительность равна 0мс.


Отрицательная

Отрицательная(): Булево

Проверяет что длительность отрицательная.


Положительная

Положительная(): Булево

Проверяет что длительность положительная.


Представление

Представление(): Строка
Переопределение: Представление
Перегрузка:
Представление(Формат: Строка): Строка

Возвращает строковое представление длительности в формате "чч:мм:сс", где “чч” - суммарное с днями количество часов. Пример: "60:12:30".


Представление

Представление(Формат: Строка): Строка
Переопределение: Представление
Перегрузка:
Представление(): Строка

Возвращает строковое представление длительности в указанном формате Формат. Форматная строка представляет собой строку из следующих элементов:

  • д - количество дней;
  • Ч - количество часов;
  • м - количество минут;
  • с - количество секунд;
  • С - количество миллисекунд.

Количество подряд идущих одинаковых элементов из списка выше задают минимальное количество цифр, которое нужно вывести в представлении той или иной временной единицы. При этом, если в строке Формат отсутствуют токены, обозначающие какую-либо временную единицу, то данная единица переводится в ближайшую меньшую единицу (при необходимости). Если таковая отсутствует, то данная временная единица отбрасывается. Использование элементов, отвечающих за одну и ту же временную единицу не подряд в форматной строке - запрещено.

"ЧЧ" -> разрешено
"ЧЧ-ЧЧ" -> запрещено

Использовать элемент, отвечающий за вывод знака, можно лишь единожды.

В любом месте форматной строки может быть сделана текстовая вставка. Она выделяется в одинарные кавычки ' с двух сторон. В случае необходимости использования одинарной кавычки в текстовой вставке - ее необходимо экранировать путем написания двух подряд идущих одинарных кавычек ''. Также в любом месте форматной строки может быть сделана вставка из небуквенных символов. Такая вставка никак не выделяется.

Примеры

Англоязычное использование Русскоязычное использование Результат
2h3m4s.Presentation(“H:m:s”) 2ч3м4с.Представление(“ЗЧ:м:с”) 2:3:4
2h3m4s.Presentation(“HH:mm:ss”) 2ч3м4с.Представление(“ЧЧ:мм:сс”) 02:03:04
(-20h3m40s).Presentation(“TH:m:s”) (-20ч3м40с).Представление(“ЗЧ:м:с”) -20:3:40
5d.Presentation(“HH:mm”) 5д.Представление(“ЧЧ:мм”) 120:00
20h30m40s.Presentation(“’'’Длительность’’:’(HHH’ч’-mmm’м’-sss’с’)”) 20ч30м40с.Представление(“’'’Длительность’’:’(ЧЧЧ’ч’-ммм’м’-ссс’с’)”) ‘Длительность’:(020ч-030м-040с)

Список унаследованных методов

Объект

Сравнимое