Class: abstract
Duration
Represents a duration of time, which can be positive or negative. This is an abstract class and cannot be instantiated directly. Use static methods to create Duration instances.
Constructors
new Duration()
new Duration():
Duration
Returns
Properties
days
days:
number
The number of days in the duration.
Example
const duration = Duration.ofDays(5);
print(duration.days); // Outputs: 5
hours
hours:
number
The number of hours in the duration.
Example
const duration = Duration.ofHours(12);
print(duration.hours); // Outputs: 12
minutes
minutes:
number
The number of minutes in the duration.
Example
const duration = Duration.ofMinutes(45);
print(duration.minutes); // Outputs: 45
nanos
nanos:
number
The number of nanoseconds in the duration.
Example
const duration = Duration.ofNano(1000);
print(duration.nanos); // Outputs: 1000
seconds
seconds:
number
The number of seconds in the duration.
Example
const duration = Duration.ofSeconds(60);
print(duration.seconds); // Outputs: 60
Methods
abs()
abs():
Duration
Returns the absolute value of this duration.
Returns
A new Duration representing the absolute value of this duration.
Example
const negativeDuration = Duration.ofDays(-1);
const absoluteDuration = negativeDuration.abs();
print(absoluteDuration.days); // 1
addTo()
addTo(
temporal
):Temporal
Adds this duration to the given temporal object.
Parameters
temporal
The temporal object to add this duration to.
Returns
A new temporal object with this duration added.
Example
const duration = Duration.ofHours(2);
const date = DateTime.parse('2023-01-01T00:00:00Z');
const newDate = duration.addTo(date);
print(newDate.toISOString()); // '2023-01-01T02:00:00.000Z'
isNegative()
isNegative():
boolean
Checks if this duration is negative.
Returns
boolean
True if this duration is negative, false otherwise.
Example
const negativeDuration = Duration.ofDays(-1);
print(negativeDuration.isNegative()); // true
isZero()
isZero():
boolean
Checks if this duration is zero.
Returns
boolean
True if this duration is zero, false otherwise.
Example
const zeroDuration = Duration.ofSeconds(0);
print(zeroDuration.isZero()); // true
minus()
minus(
duration
):Duration
Subtracts the specified duration from this duration.
Parameters
duration
The duration to subtract.
Returns
A new Duration representing the difference.
Example
const duration1 = Duration.ofDays(2);
const duration2 = Duration.ofHours(12);
const difference = duration1.minus(duration2);
print(difference.days); // 1
print(difference.hours); // 12
minusDays()
minusDays(
days
):Duration
Subtracts the specified number of days from this duration.
Parameters
days
number
The number of days to subtract.
Returns
A new Duration with the days subtracted.
Example
const duration = Duration.ofDays(3);
const newDuration = duration.minusDays(1);
print(newDuration.days); // 2
minusHours()
minusHours(
hours
):Duration
Subtracts the specified number of hours from this duration.
Parameters
hours
number
The number of hours to subtract.
Returns
A new Duration with the hours subtracted.
Example
const duration = Duration.ofHours(5);
const newDuration = duration.minusHours(2);
print(newDuration.hours); // 3
minusMillis()
minusMillis(
millis
):Duration
Subtracts the specified number of milliseconds from this duration.
Parameters
millis
number
The number of milliseconds to subtract.
Returns
A new Duration with the milliseconds subtracted.
Example
const duration = Duration.ofSeconds(2);
const newDuration = duration.minusMillis(500);
print(newDuration.seconds); // 1
print(newDuration.nanos); // 500000000
minusMinutes()
minusMinutes(
minutes
):Duration
Subtracts the specified number of minutes from this duration.
Parameters
minutes
number
The number of minutes to subtract.
Returns
A new Duration with the minutes subtracted.
Example
const duration = Duration.ofMinutes(60);
const newDuration = duration.minusMinutes(30);
print(newDuration.minutes); // 30
minusNanos()
minusNanos(
nanos
):Duration
Subtracts the specified number of nanoseconds from this duration.
Parameters
nanos
number
The number of nanoseconds to subtract.
Returns
A new Duration with the nanoseconds subtracted.
Example
const duration = Duration.ofNano(1000000000);
const newDuration = duration.minusNanos(500000000);
print(newDuration.nanos); // 500000000
minusSeconds()
minusSeconds(
seconds
):Duration
Subtracts the specified number of seconds from this duration.
Parameters
seconds
number
The number of seconds to subtract.
Returns
A new Duration with the seconds subtracted.
Example
const duration = Duration.ofSeconds(60);
const newDuration = duration.minusSeconds(30);
print(newDuration.seconds); // 30
negated()
negated():
Duration
Returns a new Duration with the opposite sign of this duration.
Returns
A new Duration with the opposite sign.
Example
const duration = Duration.ofDays(1);
const negatedDuration = duration.negated();
print(negatedDuration.days); // -1
plus()
plus(
duration
):Duration
Adds the specified duration to this duration.
Parameters
duration
The duration to add.
Returns
A new Duration representing the sum.
Example
const duration1 = Duration.ofDays(1);
const duration2 = Duration.ofHours(12);
const sum = duration1.plus(duration2);
print(sum.days); // 1
print(sum.hours); // 12
plusDays()
plusDays(
days
):Duration
Adds the specified number of days to this duration.
Parameters
days
number
The number of days to add.
Returns
A new Duration with the days added.
Example
const duration = Duration.ofDays(1);
const newDuration = duration.plusDays(2);
print(newDuration.days); // 3
plusHours()
plusHours(
hours
):Duration
Adds the specified number of hours to this duration.
Parameters
hours
number
The number of hours to add.
Returns
A new Duration with the hours added.
Example
const duration = Duration.ofHours(1);
const newDuration = duration.plusHours(2);
print(newDuration.hours); // 3
plusMillis()
plusMillis(
millis
):Duration
Adds the specified number of milliseconds to this duration.
Parameters
millis
number
The number of milliseconds to add.
Returns
A new Duration with the milliseconds added.
Example
const duration = Duration.ofSeconds(1);
const newDuration = duration.plusMillis(500);
print(newDuration.seconds); // 1
print(newDuration.nanos); // 500000000
plusMinutes()
plusMinutes(
minutes
):Duration
Adds the specified number of minutes to this duration.
Parameters
minutes
number
The number of minutes to add.
Returns
A new Duration with the minutes added.
Example
const duration = Duration.ofMinutes(30);
const newDuration = duration.plusMinutes(15);
print(newDuration.minutes); // 45
plusNanos()
plusNanos(
nanos
):Duration
Adds the specified number of nanoseconds to this duration.
Parameters
nanos
number
The number of nanoseconds to add.
Returns
A new Duration with the nanoseconds added.
Example
const duration = Duration.ofNano(500000000);
const newDuration = duration.plusNanos(250000000);
print(newDuration.nanos); // 750000000
plusSeconds()
plusSeconds(
seconds
):Duration
Adds the specified number of seconds to this duration.
Parameters
seconds
number
The number of seconds to add.
Returns
A new Duration with the seconds added.
Example
const duration = Duration.ofSeconds(30);
const newDuration = duration.plusSeconds(15);
print(newDuration.seconds); // 45
between()
static
between(startInclusive
,endInclusive
):Duration
Creates a Duration representing the time between two temporal objects.
Parameters
startInclusive
The start temporal object.
endInclusive
The end temporal object.
Returns
A Duration representing the time between start and end.
Static
Example
const start = DateTime.parse('2023-01-01T00:00:00Z');
const end = DateTime.parse('2023-01-02T12:30:45Z');
const duration = Duration.between(start, end);
print(duration.days); // 1
print(duration.hours); // 12
print(duration.minutes); // 30
print(duration.seconds); // 45
ofDays()
static
ofDays(days
):Duration
Creates a Duration representing the specified number of days.
Parameters
days
number
The number of days.
Returns
A Duration representing the specified number of days.
Static
Example
const duration = Duration.ofDays(5);
print(duration.days); // 5
ofHours()
static
ofHours(hours
):Duration
Creates a Duration representing the specified number of hours.
Parameters
hours
number
The number of hours.
Returns
A Duration representing the specified number of hours.
Static
Example
const duration = Duration.ofHours(3);
print(duration.hours); // 3
ofMillis()
static
ofMillis(millis
):Duration
Creates a Duration representing the specified number of milliseconds.
Parameters
millis
number
The number of milliseconds.
Returns
A Duration representing the specified number of milliseconds.
Static
Example
const duration = Duration.ofMillis(500);
print(duration.nanos); // 500000000
ofMinutes()
static
ofMinutes(minutes
):Duration
Creates a Duration representing the specified number of minutes.
Parameters
minutes
number
The number of minutes.
Returns
A Duration representing the specified number of minutes.
Static
Example
const duration = Duration.ofMinutes(45);
print(duration.minutes); // 45
ofNano()
static
ofNano(nano
):Duration
Creates a Duration representing the specified number of nanoseconds.
Parameters
nano
number
The number of nanoseconds.
Returns
A Duration representing the specified number of nanoseconds.
Static
Example
const duration = Duration.ofNano(1000000);
print(duration.nanos); // 1000000
ofSeconds()
static
ofSeconds(seconds
):Duration
Creates a Duration representing the specified number of seconds.
Parameters
seconds
number
The number of seconds.
Returns
A Duration representing the specified number of seconds.
Static
Example
const duration = Duration.ofSeconds(30);
print(duration.seconds); // 30