HumanizedDuration extension
A powerful extension on Duration offering formatting, arithmetic operations, and utility functions.
Features include:
- Human-readable string formatting (e.g.
toHumanizedString,toWordString,toRelativeString) - Mathematical operations (
*,/) and bound checking (clamp,abs) - Convenient component accessors (
hoursPart,totalMinutes) - Progress percentages and rounding calculations
- on
Properties
- abs → Duration
-
Available on Duration, provided by the HumanizedDuration extension
Returns the absolute (non-negative) value of this duration.no setter - hoursPart → int
-
Available on Duration, provided by the HumanizedDuration extension
Returns the absolute hours component of the duration.no setter - isNegative → bool
-
Available on Duration, provided by the HumanizedDuration extension
Returnstrueif this duration is less than zero.no setter - isPositive → bool
-
Available on Duration, provided by the HumanizedDuration extension
Returnstrueif this duration is greater than zero.no setter - isZero → bool
-
Available on Duration, provided by the HumanizedDuration extension
Returnstrueif this duration is exactly zero.no setter - millisecondsPart → int
-
Available on Duration, provided by the HumanizedDuration extension
Returns the absolute milliseconds component of the duration (0-999).no setter - minutesPart → int
-
Available on Duration, provided by the HumanizedDuration extension
Returns the absolute minutes component of the duration (0-59).no setter - secondsPart → int
-
Available on Duration, provided by the HumanizedDuration extension
Returns the absolute seconds component of the duration (0-59).no setter - totalDays → double
-
Available on Duration, provided by the HumanizedDuration extension
Returns the total duration in floating-point days.no setter - totalHours → double
-
Available on Duration, provided by the HumanizedDuration extension
Returns the total duration in floating-point hours.no setter - totalMinutes → double
-
Available on Duration, provided by the HumanizedDuration extension
Returns the total duration in floating-point minutes.no setter
Methods
-
ceilToMinutes(
) → Duration -
Available on Duration, provided by the HumanizedDuration extension
Rounds the duration up to the nearest upper minute. -
clamp(
Duration min, Duration max) → Duration -
Available on Duration, provided by the HumanizedDuration extension
Clamps this duration to be betweenminandmax. -
floorToMinutes(
) → Duration -
Available on Duration, provided by the HumanizedDuration extension
Truncates the duration to the nearest lower minute. -
isLongerThan(
Duration other) → bool -
Available on Duration, provided by the HumanizedDuration extension
Returns true if this duration is strictly longer thanother. -
isShorterThan(
Duration other) → bool -
Available on Duration, provided by the HumanizedDuration extension
Returns true if this duration is strictly shorter thanother. -
isWithin(
Duration range, Duration other) → bool -
Available on Duration, provided by the HumanizedDuration extension
Returns true if this duration is withinrangedifference fromother. -
progressOf(
Duration total, {bool clampResult = true}) → double -
Available on Duration, provided by the HumanizedDuration extension
Returns a 0.0–1.0 progress value relative tototal. Clamps to0, 1by default; passclampResult= false to allow overflow. -
remainingIn(
Duration total) → Duration -
Available on Duration, provided by the HumanizedDuration extension
Remaining duration whenthisis the elapsed time withintotal. -
roundToMinutes(
) → Duration -
Available on Duration, provided by the HumanizedDuration extension
Rounds the duration to the nearest minute. -
roundToSeconds(
) → Duration -
Available on Duration, provided by the HumanizedDuration extension
Rounds the duration to the nearest second. -
toFrames(
double fps) → int -
Available on Duration, provided by the HumanizedDuration extension
Frame count at a givenfps(e.g. 24, 30, 60). -
toHumanizedString(
) → String -
Available on Duration, provided by the HumanizedDuration extension
1:02:34or2:05— no forced padding on leading minute -
toPaddedString(
) → String -
Available on Duration, provided by the HumanizedDuration extension
01:02:34— always zero-pads all components (useful for fixed-width UI) -
toRelativeString(
) → String -
Available on Duration, provided by the HumanizedDuration extension
Approximate relative:in 2 hours,3 minutes ago,just now -
toSeconds(
) → double -
Available on Duration, provided by the HumanizedDuration extension
Total fractional seconds, including milliseconds. -
toVerboseString(
{bool includeSeconds = true}) → String -
Available on Duration, provided by the HumanizedDuration extension
1h 2m 34s— verbose, good for settings/accessibility labels -
toWordString(
{bool includeSeconds = true}) → String -
Available on Duration, provided by the HumanizedDuration extension
1 hour, 2 minutes, 34 seconds— fully written out
Operators
-
operator *(
num factor) → Duration -
Available on Duration, provided by the HumanizedDuration extension
Multiplies this duration by the givenfactor. -
operator /(
num divisor) → Duration -
Available on Duration, provided by the HumanizedDuration extension
Divides this duration by the givendivisor.
Static Methods
-
fromFrames(
int frames, double fps) → Duration -
Available on Duration, provided by the HumanizedDuration extension
Reconstruct from frame count.