Time class

Represents a duration of time.

This is fairly similar to the built-in Duration class, but brings additional granularity to the measurement. Duration, for instance, operates only on integer values, with the smallest granularity being microseconds.

It is possible to convert to this class from Duration instances, or to create Duration instances from instances of this, so long as lossy conversions are acceptable, via the Time.ofDuration and Time.asDuration methods.

Inheritance

Constructors

Time.infinite([MeasurementInterpreter<Time> interpreter = seconds])
Infinite time.
const
Time.negativeInfinite([MeasurementInterpreter<Time> interpreter = seconds])
Infinite negative time.
const
Time.ofDuration(Duration duration, {Precision precision = Precision.max, MeasurementInterpreter<Time> interpreter = TimeInterpreter._seconds})
Constructs a Time from a Duration.
Time.sum(Iterable<Time> parts, {Precision precision = Precision.max})
Constructs a Time representing the sum of any number of other Times.
Time.zero([MeasurementInterpreter<Time> interpreter = seconds])
The time of duration zero.
const

Properties

asDuration Duration
Constructs a Duration based on this.
no setter
defaultInterpreter MeasurementInterpreter<Time>?
The default unit for this measurement.
finalinherited
defaultValue double
Returns the default measurement value (i.e. the measurement as interpreted by the default MeasurementInterpreter.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
isFinite bool
Returns true if this measurement is finite.
no setterinherited
isInfinite bool
Returns true if this measurement is infinite (either positive or negative).
no setterinherited
isNaN bool
Returns true if this measurement cannot be expressed as a number.
no setterinherited
isNegative bool
Returns true if this measurement is negative.
no setterinherited
precision int
Returns the number of digits of precision this measurement has.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
si double
The SI value this measurement is based on.
finalinherited

Methods

acceptVisitor(MeasurementVisitor visitor) → void
Accept a visitor object for double-dispatch.
override
as(MeasurementInterpreter<Time> interpreter) double
Interprets this using the specified units.
by<V extends Measurement<V>>(Measurement<V> other) DerivedMeasurement<Measurement<Time>, Measurement<V>>
Creates a derived unit that is the multiplication of this measurement with another.
inherited
compareMagnitude(Time other) double
Returns the difference in magnitude between this and another measurement.
inherited
compareTo(Time other) int
Compares this object to another object.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
per<V extends Measurement<V>>(Measurement<V> other) DerivedMeasurement<Measurement<Time>, Measurement<V>>
Creates a derived measurement that is the division of this measurement with another.
inherited
toString() String
A string representation of this object.
inherited
withDefaultUnit(MeasurementInterpreter<Time> interpreter) Time
Creates a new measurement equivalent to this one but with a different default unit.
inherited
withPrecision(Precision precision) Time
Creates an equivalent measurement with the specified precision.
inherited

Operators

operator *(double multiplier) Time
Returns a measurement equivalent to a multiple of this.
inherited
operator +(Time other) Time
Returns a measurement equivalent to the sum of two others.
inherited
operator -(Time other) Time
Returns a measurement equivalent to the difference between two others.
inherited
operator /(double divisor) Time
Returns a measurement equivalent to a fraction of this.
inherited
operator <(Time other) bool
Returns true if this is less than the other measurement.
inherited
operator <=(Time other) bool
Returns true if this is less than or equal to the other measurement.
inherited
operator ==(Object other) bool
The equality operator.
inherited
operator >(Time other) bool
Returns true if this is greater than the other measurement.
inherited
operator >=(Time other) bool
Returns true if this is greater than or equal to the other measurement.
inherited
operator unary-() Time
Returns a measurement representing the opposite of this.
inherited
operator ~/(Time other) int
Returns the truncating division result of this and another measurement.
inherited