Duration class
A span of time, such as 27 days, 4 hours, 12 minutes, and 3 seconds.
A Duration represents a difference from one point in time to another. The
duration may be "negative" if the difference is from a later time to an
earlier.
Durations are context independent. For example, a duration of 2 days is
always 48 hours, even when it is added to a DateTime just when the
time zone is about to do a daylight-savings switch. (See DateTime.add).
Despite the same name, a Duration object does not implement "Durations"
as specified by ISO 8601. In particular, a duration object does not keep
track of the individually provided members (such as "days" or "hours"), but
only uses these arguments to compute the length of the corresponding time
interval.
To create a new Duration object, use this class's single constructor giving the appropriate arguments:
Duration fastestMarathon = new Duration(hours:2, minutes:3, seconds:2);
The Duration is the sum of all individual parts. This means that individual parts can be larger than the next-bigger unit. For example, inMinutes can be greater than 59.
assert(fastestMarathon.inMinutes == 123);
All individual parts are allowed to be negative.
Use one of the properties, such as inDays, to retrieve the integer value of the Duration in the specified time unit. Note that the returned value is rounded down. For example,
Duration aLongWeekend = new Duration(hours:88);
assert(aLongWeekend.inDays == 3);
This class provides a collection of arithmetic and comparison operators, plus a set of constants useful for converting time units.
See DateTime to represent a point in time. See Stopwatch to measure time-spans.
- Implemented types
Constructors
Properties
- hashCode → int
-
The hash code for this object. [...]
read-only, override
- inDays → int
-
Returns the number of whole days spanned by this Duration.
read-only
- inHours → int
-
Returns the number of whole hours spanned by this Duration. [...]
read-only
- inMicroseconds → int
-
Returns number of whole microseconds spanned by this Duration.
read-only
- inMilliseconds → int
-
Returns number of whole milliseconds spanned by this Duration. [...]
read-only
- inMinutes → int
-
Returns the number of whole minutes spanned by this Duration. [...]
read-only
- inSeconds → int
-
Returns the number of whole seconds spanned by this Duration. [...]
read-only
- isNegative → bool
-
Returns whether this
Durationis negative. [...]read-only - runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
Methods
-
abs(
) → Duration -
Returns a new
Durationrepresenting the absolute value of thisDuration. [...] -
compareTo(
Duration other) → int -
Compares this Duration to
other, returning zero if the values are equal. [...]override -
toString(
) → String -
Returns a string representation of this
Duration. [...]override -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed. [...]
inherited
Operators
-
operator *(
num factor) → Duration -
Multiplies this Duration by the given
factorand returns the result as a new Duration object. [...] -
operator +(
Duration other) → Duration -
Adds this Duration and
otherand returns the sum as a new Duration object. -
operator -(
Duration other) → Duration -
Subtracts
otherfrom this Duration and returns the difference as a new Duration object. -
operator <(
Duration other) → bool -
Returns
trueif the value of this Duration is less than the value ofother. -
operator <=(
Duration other) → bool -
Returns
trueif the value of this Duration is less than or equal to the value ofother. -
operator ==(
dynamic other) → bool -
Returns
trueif this Duration is the same object asother.override -
operator >(
Duration other) → bool -
Returns
trueif the value of this Duration is greater than the value ofother. -
operator >=(
Duration other) → bool -
Returns
trueif the value of this Duration is greater than or equal to the value ofother. -
operator unary-(
) → Duration -
Returns a new
Durationrepresenting thisDurationnegated. [...] -
operator ~/(
int quotient) → Duration -
Divides this Duration by the given
quotientand returns the truncated result as a new Duration object. [...]
Constants
- hoursPerDay → const int
-
24 - microsecondsPerDay → const int
-
microsecondsPerHour * hoursPerDay - microsecondsPerHour → const int
-
microsecondsPerMinute * minutesPerHour - microsecondsPerMillisecond → const int
-
1000 - microsecondsPerMinute → const int
-
microsecondsPerSecond * secondsPerMinute - microsecondsPerSecond → const int
-
microsecondsPerMillisecond * millisecondsPerSecond - millisecondsPerDay → const int
-
millisecondsPerHour * hoursPerDay - millisecondsPerHour → const int
-
millisecondsPerMinute * minutesPerHour - millisecondsPerMinute → const int
-
millisecondsPerSecond * secondsPerMinute - millisecondsPerSecond → const int
-
1000 - minutesPerDay → const int
-
minutesPerHour * hoursPerDay - minutesPerHour → const int
-
60 - secondsPerDay → const int
-
secondsPerHour * hoursPerDay - secondsPerHour → const int
-
secondsPerMinute * minutesPerHour - secondsPerMinute → const int
-
60 - zero → const Duration
-
const Duration(seconds: 0)