Класс Duration
Отрезок времени, например, 27 дней, 4 часа, 12 минут и 3 секунды.
Объект Duration представляет разницу между двумя моментами времени. Продолжительность может быть «отрицательной», если разница идёт от более позднего к более раннему времени.
Продолжительности независимы от контекста. Например, продолжительность 2 дня всегда равна 48 часам, даже если её добавляют к моменту времени, когда меняется время из-за перехода на летнее/зимнее время. (См. DateTime.add).
Несмотря на одинаковое название, объект Duration не реализует «Продолжительности» в соответствии со спецификацией ISO 8601. В частности, объект Duration не отслеживает отдельные компоненты (такие как «дни» или «часы»), а только использует эти аргументы для вычисления длительности соответствующего временного интервала.
Чтобы создать новый объект Duration, используйте единственный конструктор этого класса, передав соответствующие аргументы:
Duration fastestMarathon = new Duration(hours:2, minutes:3, seconds:2);
Duration — это сумма всех отдельных частей. Это означает, что отдельные части могут быть больше, чем следующая по величине единица. Например, inMinutes может быть больше 59.
assert(fastestMarathon.inMinutes == 123);
Все отдельные части могут быть отрицательными.
Используйте одно из свойств, например, inDays, чтобы получить целое значение Duration в указанной единице измерения времени. Обратите внимание, что возвращаемое значение округляется вниз. Например,
Duration aLongWeekend = new Duration(hours:88); assert(aLongWeekend.inDays == 3);
Этот класс предоставляет набор арифметических и сравнительных операторов, а также набор констант, полезных для преобразования единиц времени.
См. DateTime для представления момента времени. См. Stopwatch для измерения интервалов времени.
- Реализует
Константы
- HOURS_PER_DAY → int
-
24 - MICROSECONDS_PER_DAY → int
-
MICROSECONDS_PER_HOUR * HOURS_PER_DAY - MICROSECONDS_PER_HOUR → int
-
MICROSECONDS_PER_MINUTE * MINUTES_PER_HOUR - MICROSECONDS_PER_MILLISECOND → int
-
1000 - MICROSECONDS_PER_MINUTE → int
-
MICROSECONDS_PER_SECOND * SECONDS_PER_MINUTE - MICROSECONDS_PER_SECOND → int
-
MICROSECONDS_PER_MILLISECOND * MILLISECONDS_PER_SECOND - MILLISECONDS_PER_DAY → int
-
MILLISECONDS_PER_HOUR * HOURS_PER_DAY - MILLISECONDS_PER_HOUR → int
-
MILLISECONDS_PER_MINUTE * MINUTES_PER_HOUR - MILLISECONDS_PER_MINUTE → int
-
MILLISECONDS_PER_SECOND * SECONDS_PER_MINUTE - MILLISECONDS_PER_SECOND → int
-
1000 - MINUTES_PER_DAY → int
-
MINUTES_PER_HOUR * HOURS_PER_DAY - MINUTES_PER_HOUR → int
-
60 - SECONDS_PER_DAY → int
-
SECONDS_PER_HOUR * HOURS_PER_DAY - SECONDS_PER_HOUR → int
-
SECONDS_PER_MINUTE * MINUTES_PER_HOUR - SECONDS_PER_MINUTE → int
-
60 - ZERO → Duration
-
const Duration(seconds: 0)
Конструкторы
- Duration({int days: 0, int hours: 0, int minutes: 0, int seconds: 0, int milliseconds: 0, int microseconds: 0 }) const
-
Создаёт новый объект Duration, значение которого является суммой всех отдельных частей.
Свойства
- hashCode → int только для чтения
- inDays → int только для чтения
-
Возвращает количество целых дней, охватываемых этой продолжительностью.
- inHours → int только для чтения
-
Возвращает количество целых часов, охватываемых этой продолжительностью.
- inMicroseconds → int только для чтения
-
Возвращает количество целых микросекунд, охватываемых этой продолжительностью.
- inMilliseconds → int только для чтения
-
Возвращает количество целых миллисекунд, охватываемых этой продолжительностью.
- inMinutes → int только для чтения
-
Возвращает количество целых минут, охватываемых этой продолжительностью.
- inSeconds → int только для чтения
-
Возвращает количество целых секунд, охватываемых этой продолжительностью.
- isNegative → bool только для чтения
-
Возвращает значение true, если эта продолжительность отрицательная.
- runtimeType → Type только для чтения, унаследовано
-
Представление runtime-типа объекта.
Операторы
- operator *(
num factor) → Duration -
Умножает эту продолжительность на заданный множитель и возвращает результат как новый объект Duration.
- operator +(
Duration other) → Duration -
Складывает эту продолжительность и другую продолжительность и возвращает сумму как новый объект Duration.
- operator -(
Duration other) → Duration -
Вычитает другую продолжительность из этой продолжительности и возвращает разницу как новый объект Duration.
- operator <(
Duration other) → bool -
Возвращает true, если значение этой продолжительности меньше значения другой продолжительности.
- operator <=(
Duration other) → bool -
Возвращает true, если значение этой продолжительности меньше или равно значению другой продолжительности.
- operator ==(
other) → bool -
Возвращает true, если эта продолжительность является тем же объектом, что и другой объект.
- operator >(
Duration other) → bool -
Возвращает true, если значение этой продолжительности больше значения другой продолжительности.
- operator >=(
Duration other) → bool -
Возвращает true, если значение этой продолжительности больше или равно значению другой продолжительности.
- operator unary-(
) → Duration -
Возвращает новую продолжительность, представляющую отрицание этой продолжительности.
- operator ~/(
int quotient) → Duration -
Делит эту продолжительность на заданное целое число и возвращает усечённый результат как новый объект Duration.
Методы
- abs(
) → Duration -
Возвращает новую продолжительность, представляющую абсолютное значение этой продолжительности.
- compareTo(
Duration other) → int -
Сравнивает эту продолжительность с другой, возвращая ноль, если значения равны.
- toString(
) → String -
Возвращает строковое представление этой продолжительности.
- noSuchMethod(
Invocation invocation) → dynamic унаследовано -
Вызывается при доступе к несуществующему методу или свойству.
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/Duration-class.html