Duration
represents a duration of time with support for various units (nanoseconds, microseconds, milliseconds, seconds, minutes, hours, and days).
It provides methods to create, manipulate, and compare durations, as well as convert them to different units and formats.
// Create a duration of 5 seconds
const duration = Duration.seconds(5);
// Convert the duration to minutes
const minutes = duration.inWholeMinutes();
console.log(minutes);
// Output: 0
// Add another duration of 2 minutes
const sum = duration.add(Duration.minutes(2));
console.log(sum.inWholeSeconds());
// Output: 420Main functionalities
Create a duration object from different units of time (nanoseconds, microseconds, milliseconds, seconds, minutes, hours, and days)
Convert the duration to different units (seconds, minutes, hours, and days)
Perform arithmetic operations on durations (addition, subtraction, multiplication, division)
Compare durations (equality, less than, greater than)
Format the duration as a string representation
Global Functions
durationOf
Creates a Duration object from a duration in milliseconds.
const duration = durationOf(5000);
console.log(duration.toSeconds()); // Output: 5Static Functions
nanoseconds
Creates a Duration object from a duration in nanoseconds.
const duration = Duration.nanoseconds(1e9);microseconds
Creates a Duration object from a duration in microseconds.
const duration = Duration.microseconds(5000000);milliseconds
Creates a Duration object from a duration in milliseconds.
const duration = Duration.milliseconds(5000);seconds
Creates a Duration object from a duration in seconds.
const duration = Duration.seconds(60);minutes
Creates a Duration object from a duration in minutes.
const duration = Duration.minutes(60);hours
Creates a Duration object from a duration in hours.
const duration = Duration.hours(24);days
Creates a Duration object from a duration in days.
const duration = Duration.days(7);Class Functions
inWholeSeconds
Converts the duration to seconds.
const seconds = (2).minutes().inWholeSeconds();
console.log(seconds);
// Output: 120inWholeMinutes
Converts the duration to minutes.
const minutes = (2).hours().inWholeMinutes();
console.log(minutes);
// Output: 120inWholeHours
Converts the duration to hours.
const hours = (1).days().inWholeHours();
console.log(hours);
// Output: 24inWholeDays
Converts the duration to days.
const days = (48).hours().inWholeDays();
console.log(days);
// Output: 2toObject
Converts the duration to an object with properties for each time unit.
const durationObject = (123).seconds().toObject();
console.log(durationObject);
// Output: { nanoseconds: 123000000000, microseconds: 123000000, milliseconds: 123000, seconds: 123, minutes: 2, hours: 0, days: 0 }toComponents
Splits this duration into days, hours, minutes, seconds, and nanoseconds.
const components = (2).days().add((12).hours()).toComponents();
console.log(components);
// Output: { days: 2, hours: 12, minutes: 0, seconds: 0, nanoseconds: 0 }add
Adds another duration to this duration.
const sum = (12).hours().add((30).minutes());
console.log(sum.toMinutes());
// Output: 750subtract
Subtracts another duration from this duration.
const difference = (12).hours().subtract((30).minutes());
console.log(difference.toMinutes());
// Output: 630multiply
Multiplies this duration by a scalar factor.
const multiplied = (10).minutes().multiply(2);
console.log(multiplied.toMinutes());
// Output: 20divide
Divides this duration by a scalar divisor.
const divided = (1).hours().divide(2);
console.log(divided.toMinutes());
// Output: 30equals
Checks if this duration is equal to another duration.
const duration1 = (5).hours();
const duration2 = (5).hours();
console.log(duration1.equals(duration2)); // Output: truelessThan
Checks if this duration is less than another duration.
const duration1 = (10).seconds();
const duration2 = (20).seconds();
console.log(duration1.lessThan(duration2)); // Output: truegreaterThan
Checks if this duration is greater than another duration.
const duration1 = (10).seconds();
const duration2 = (5).seconds();
const result = duration1.greaterThan(duration2);
console.log(result); // Output: truecompareTo
Compares this duration with another duration.
const duration1 = (1).days();
const duration2 = (24).hours();
console.log(duration1.compareTo(duration2)); // Output: 0runIt
Splits this duration into days, hours, minutes, seconds, and nanoseconds and executes the given action with these components. The result of the action is returned.
const result = (3600).seconds()
.runIt((days, hours, minutes, seconds, nanoseconds) => {
return `${days}d ${hours}h ${minutes}m ${seconds}s ${nanoseconds}ns`;
});
console.log(result);
// Output: 0d 1h 0m 0s 0nstoString
Formats the duration as a string.
const duration = (1).days().add((6).hours());
const formattedString = duration.toString();
console.log(formattedString);
// Output: 1d 6h 0m 0s 0nsLast updated