Длительность
Стд::Время::Длительность
Количество времени с точностью до миллисекунд.
Может быть отрицательным.
Максимальное значение 999999999999999мс.
Минимальное значение -999999999999999мс.
Сравнение
Структурное
Два экземпляра длительности равны, если равны их компоненты (часы, минуты, секунды, миллисекунды).
Иерархия типа
Базовые типы: Объект, Объект, Представляемое, Сравнимое<Длительность>, Форматируемое
Примеры
Общие примеры
30с- 30 секунд2ч30м- 2 часа 30 минут
Разница между Часы и ВЧасах и аналогичными:
знч Длительность = 1д5ч6м
знч Часы = Длительность.Часы // 5
знч ВЧасах = Длительность.ВЧасах() // 29
Литералы
Литерал имеет вид [+|-][<А>д][<Б>ч][<В>м][<Г>с][<Д>мс]. Любой элемент может быть опущен, если соответствующее значение равно нулю. Где:
- <А> - значение дней
- <Б> - значение часов
- <В> - значение минут
- <Г> - значение секунд
- <Д> - значение миллисекунд
Арифметические операции
- Длительность + Длительность = Длительность (сложение)
- Длительность - Длительность = Длительность (вычитание)
- Длительность * Число = Длительность (умножение)
- Длительность / Число = Длительность (деление)
- -Длительность = Длительность (унарный минус)
Приоритет операций (в порядке уменьшения):
- Выражения в круглых скобках
-
- (унарный минус)
- Операции *, /
- Операции +, -
Конструкторы
Длительность
Минуты, Секунды, Миллисекунды и признаком отрицательности Отрицательная.
Длительность
Дни, Минуты, Секунды, Миллисекунды и признаком отрицательности Отрицательная.
Свойства
Дни
ТолькоЧтение
Дни: ЧислоКоличество дней.
Миллисекунды
ТолькоЧтение
Миллисекунды: ЧислоКоличество миллисекунд.
Минуты
ТолькоЧтение
Минуты: ЧислоКоличество минут.
Секунды
ТолькоЧтение
Секунды: ЧислоКоличество секунд.
Часы
ТолькоЧтение
Часы: ЧислоКоличество часов.
Методы
ВДнях
ВДнях(): ЧислоВМиллисекундах
ВМиллисекундах(): ЧислоВМинутах
ВМинутах(): ЧислоВСекундах
ВСекундах(): ЧислоВСтроку
ВСтроку(): Строка"чч:мм:сс.ССС", где "чч" - суммарное с днями количество часов.
Пример: "60:12:30.653".
Переопределение
Объект::ВСтроку
ВФорматеIso
ВФорматеIso(): Строка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с) |
Список унаследованных методов
Объект
Представляемое
Представление (Переопределение)