Package org.djunits.quantity
Class Duration
- All Implemented Interfaces:
Serializable,Comparable<Duration>,Additive<Duration>,Scalable<Duration>,Value<Duration>
Duration is the interval of time between two events, measured in seconds (s). This quantity encodes a relative amount
of time. The Time quantity encodes an absolute time instant.
Copyright (c) 2025-2026 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://djunits.org. The DJUNITS project is distributed under a three-clause BSD-style license.
- Author:
- Alexander Verbraeck
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classDuration.Unit encodes the units of relative time. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final DurationConstant with value NaN.static final DurationConstant with value -MAX_VALUE.static final DurationConstant with value NEGATIVE_INFINITY.static final DurationConstant with value one.static final DurationConstant with value MAX_VALUE.static final DurationConstant with value POSITIVE_INFINITY.static final DurationConstant with value zero. -
Constructor Summary
ConstructorsConstructorDescriptionDuration(double valueInUnit, Duration.Unit unit) Instantiate a Duration quantity expressed in the given unit.Duration(double value, Duration.Unit displayUnit, boolean useSi) Instantiate a Duration quantity with an SI or base value and a display unit. -
Method Summary
Modifier and TypeMethodDescriptionAdd an (absolute) time to this duration, and return a time.Calculate the division of Duration and Duration, which results in a Dimensionless quantity.Retrieve the unit of this Value.instantiateSi(double siValue, UnitInterface<Duration> displayUnit) Instantiate a quantity with an SI or base value, and a display unit.Calculate the multiplication of Duration and Acceleration, which results in a Speed scalar.Calculate the multiplication of Duration and AngularAcceleration, which results in a AngularVelocity scalar.Calculate the multiplication of Duration and AngularVelocity, which results in a Angle scalar.Calculate the multiplication of Duration and ElectricalConductance, which results in a ElectricalCapacitance scalar.Calculate the multiplication of Duration and ElectricalResistance, which results in a ElectricalInductance scalar.Calculate the multiplication of Duration and ElectricCurrent, which results in a ElectricCharge scalar.Calculate the multiplication of Duration and ElectricPotential, which results in a MagneticFlux scalar.Calculate the multiplication of Duration and FlowMass, which results in a Mass scalar.Calculate the multiplication of Duration and FlowVolume, which results in a Volume scalar.Calculate the multiplication of Duration and Power, which results in a Energy scalar.Calculate the multiplication of Duration and Speed, which results in a Length scalar.static DurationReturns a Duration based on a value and the textual representation of the unit, which can be localized.static Durationof(double valueInUnit, Duration.Unit unit) Returns a Duration based on a value expressed in the unit.static DurationofSi(double si) Return a Duration instance based on an SI value.static DurationofSi(double siValue, Duration.Unit displayUnit) Instantiate a Duration quantity with an SI or base value and a display unit.Return the reciprocal of this quantity (1/q).static DurationReturns a Duration representation of a textual representation of a value with a unit.Methods inherited from class org.djunits.quantity.def.Quantity
abs, add, as, compareTo, divide, doubleValue, eq, eq0, equals, floatValue, format, format, format, ge, ge0, getInUnit, getInUnit, getName, gt, gt0, hashCode, instantiate, instantiateSi, interpolate, intValue, isRelative, le, le0, longValue, lt, lt0, max, mean, min, multiply, ne, ne0, negate, of, product, scaleBy, si, siUnit, subtract, sum, toString, valueOfMethods inherited from class java.lang.Number
byteValue, shortValueMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.djunits.value.Value
isAbsolute
-
Field Details
-
ZERO
Constant with value zero. -
ONE
Constant with value one. -
NaN
Constant with value NaN. -
POSITIVE_INFINITY
Constant with value POSITIVE_INFINITY. -
NEGATIVE_INFINITY
Constant with value NEGATIVE_INFINITY. -
POS_MAXVALUE
Constant with value MAX_VALUE. -
NEG_MAXVALUE
Constant with value -MAX_VALUE.
-
-
Constructor Details
-
Duration
Instantiate a Duration quantity with an SI or base value and a display unit.- Parameters:
value- the quantity value expressed in the SI or base unitdisplayUnit- the display unit to useuseSi- use SI value when true, use value in unit when false
-
Duration
Instantiate a Duration quantity expressed in the given unit.- Parameters:
valueInUnit- the quantity value expressed in the given unitunit- the unit of the value, also acts as the display unit
-
-
Method Details
-
ofSi
Return a Duration instance based on an SI value.- Parameters:
si- the si value- Returns:
- the Duration instance based on an SI value
-
ofSi
Instantiate a Duration quantity with an SI or base value and a display unit.- Parameters:
siValue- the quantity value expressed in the SI or base unitdisplayUnit- the display unit to use- Returns:
- the Duration instance based on an SI value with the given display unit
-
instantiateSi
Description copied from class:QuantityInstantiate a quantity with an SI or base value, and a display unit.- Specified by:
instantiateSiin classQuantity<Duration>- Parameters:
siValue- the value expressed in the base (SI) unitdisplayUnit- the display unit to use for the quantity- Returns:
- a quantity with the given SI or base value, and the given display unit
-
valueOf
Returns a Duration representation of a textual representation of a value with a unit. The String representation that can be parsed is the double value in the unit, followed by a localized or English abbreviation of the unit. Spaces are allowed, but not required, between the value and the unit.- Parameters:
text- the textual representation to parse into a Duration- Returns:
- the Scalar representation of the value in its unit
- Throws:
IllegalArgumentException- when the text cannot be parsedNullPointerException- when the text argument is null
-
of
Returns a Duration based on a value expressed in the unit.- Parameters:
valueInUnit- the value, expressed in the given unitunit- the unit of the value, also acts as the display unit- Returns:
- ab Duration representation of the value in its unit
-
of
Returns a Duration based on a value and the textual representation of the unit, which can be localized.- Parameters:
valueInUnit- the value, expressed in the unit as given by unitStringunitString- the textual representation of the unit- Returns:
- the Scalar representation of the value in its unit
- Throws:
IllegalArgumentException- when the unit cannot be parsed or is incorrectNullPointerException- when the unitString argument is null
-
getDisplayUnit
Description copied from interface:ValueRetrieve the unit of this Value.- Specified by:
getDisplayUnitin interfaceValue<Duration>- Overrides:
getDisplayUnitin classQuantity<Duration>- Returns:
- the unit of this Value
-
add
Add an (absolute) time to this duration, and return a time. The unit of the return value will be the unit of this duration, and the reference of the return value will be the reference belonging to the given time.R.add(A)= unit of R and reference value of A.- Parameters:
time- the absolute time to add- Returns:
- the absolute time plus this duration
-
divide
Calculate the division of Duration and Duration, which results in a Dimensionless quantity.- Parameters:
v- quantity- Returns:
- quantity as a division of Duration and Duration
-
multiply
Calculate the multiplication of Duration and ElectricCurrent, which results in a ElectricCharge scalar.- Parameters:
v- scalar- Returns:
- scalar as a multiplication of Duration and ElectricCurrent
-
multiply
Calculate the multiplication of Duration and FlowMass, which results in a Mass scalar.- Parameters:
v- scalar- Returns:
- scalar as a multiplication of Duration and FlowMass
-
multiply
Calculate the multiplication of Duration and FlowVolume, which results in a Volume scalar.- Parameters:
v- scalar- Returns:
- scalar as a multiplication of Duration and FlowVolume
-
multiply
Calculate the multiplication of Duration and Acceleration, which results in a Speed scalar.- Parameters:
v- scalar- Returns:
- scalar as a multiplication of Duration and Acceleration
-
multiply
Calculate the multiplication of Duration and Power, which results in a Energy scalar.- Parameters:
v- scalar- Returns:
- scalar as a multiplication of Duration and Power
-
multiply
Calculate the multiplication of Duration and Speed, which results in a Length scalar.- Parameters:
v- scalar- Returns:
- scalar as a multiplication of Duration and Speed
-
multiply
Calculate the multiplication of Duration and ElectricPotential, which results in a MagneticFlux scalar.- Parameters:
v- scalar- Returns:
- scalar as a multiplication of Duration and ElectricPotential
-
multiply
Calculate the multiplication of Duration and ElectricalResistance, which results in a ElectricalInductance scalar.- Parameters:
v- scalar- Returns:
- scalar as a multiplication of Duration and ElectricalResistance
-
multiply
Calculate the multiplication of Duration and ElectricalConductance, which results in a ElectricalCapacitance scalar.- Parameters:
v- scalar- Returns:
- scalar as a multiplication of Duration and ElectricalConductance
-
multiply
Calculate the multiplication of Duration and AngularVelocity, which results in a Angle scalar.- Parameters:
v- scalar- Returns:
- scalar as a multiplication of Duration and AngularVelocity
-
multiply
Calculate the multiplication of Duration and AngularAcceleration, which results in a AngularVelocity scalar.- Parameters:
v- scalar- Returns:
- scalar as a multiplication of Duration and AngularAcceleration
-
reciprocal
Description copied from class:QuantityReturn the reciprocal of this quantity (1/q).- Overrides:
reciprocalin classQuantity<Duration>- Returns:
- the reciprocal of this quantity, with the correct SI units
-