Package org.djunits.value.vdouble.scalar
Class Time
java.lang.Object
java.lang.Number
org.djunits.value.base.Scalar<U,S>
org.djunits.value.vdouble.scalar.base.DoubleScalar<AU,A>
org.djunits.value.vdouble.scalar.base.DoubleScalarAbs<TimeUnit,Time,DurationUnit,Duration>
org.djunits.value.vdouble.scalar.Time
- All Implemented Interfaces:
Serializable,Cloneable,Comparable<Time>,Absolute<TimeUnit,,Time, DurationUnit, Duration> Value<TimeUnit,Time>
@Generated(value="org.djunits.generator.GenerateDJUNIT",
date="2025-09-06T15:16:28.380798Z")
public class Time
extends DoubleScalarAbs<TimeUnit,Time,DurationUnit,Duration>
Easy access methods for the Absolute Time DoubleScalar.
Note that when the offset of a stored absolute Time becomes large, precision of a double might not be enough for the required resolution of a Time. A double has around 16 significant digits (52 bit mantissa). This means that when we need to have a double Time with TimeUnit.BASE as its unit, the largest value where the ms precision is reached is 2^51 = 2.3E15, which is around 71000 years. This is sufficient to store a date in the 21st Century with a BASE or an Epoch offset precise to a microsecond.
Copyright (c) 2013-2025 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands.
All rights reserved.
BSD-style license. See DJUNITS License.
- Author:
- Alexander Verbraeck, Peter Knoppers
- See Also:
-
Field Summary
FieldsFields inherited from class org.djunits.value.vdouble.scalar.base.DoubleScalar
si -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal TimeinstantiateAbs(double value, TimeUnit unit) Construct a new Absolute Immutable DoubleScalar of the right type.final DurationinstantiateRel(double value, DurationUnit unit) Construct a new Relative Immutable DoubleScalar of the right type.static Timeinterpolate(Time zero, Time one, double ratio) Interpolate between two values.static TimeReturn the maximum value of two absolute scalars.static TimeReturn the maximum value of more than two absolute scalars.static TimeReturn the minimum value of two absolute scalars.static TimeReturn the minimum value of more than two absolute scalars.static TimeReturns a Time based on a value and the textual representation of the unit, which can be localized.static final TimeofSI(double value) Construct Time scalar based on a BASE unit value.static TimeReturns a Time representation of a textual representation of a value with a unit.Methods inherited from class org.djunits.value.vdouble.scalar.base.DoubleScalarAbs
abs, ceil, floor, minus, minus, neg, plus, rintMethods inherited from class org.djunits.value.vdouble.scalar.base.DoubleScalar
compareTo, doubleValue, eq, eq0, equals, floatValue, ge, ge0, getInUnit, getInUnit, getSI, gt, gt0, hashCode, intValue, le, le0, longValue, lt, lt0, ne, ne0, toDisplayString, toDisplayString, toString, toString, toString, toString, toStringSIPrefixed, toStringSIPrefixed, toTextualString, toTextualStringMethods inherited from class org.djunits.value.base.Scalar
format, format, getDisplayUnit, setDisplayUnitMethods 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, isRelative
-
Field Details
-
ZERO
Constant with value zero.
-
-
Constructor Details
-
Time
Construct Time scalar with a unit.- Parameters:
value- the double value, expressed in the given unitunit- unit for the double value
-
Time
Construct Time scalar.- Parameters:
value- Scalar from which to construct this instance
-
-
Method Details
-
instantiateAbs
Description copied from class:DoubleScalarAbsConstruct a new Absolute Immutable DoubleScalar of the right type. Each extending class must implement this method.- Specified by:
instantiateAbsin classDoubleScalarAbs<TimeUnit,Time, DurationUnit, Duration> - Parameters:
value- the double valueunit- the absolute unit- Returns:
- A a new absolute instance of the DoubleScalar of the right type
-
instantiateRel
Description copied from class:DoubleScalarAbsConstruct a new Relative Immutable DoubleScalar of the right type. Each extending class must implement this method.- Specified by:
instantiateRelin classDoubleScalarAbs<TimeUnit,Time, DurationUnit, Duration> - Parameters:
value- the double valueunit- the unit- Returns:
- R a new relative instance of the DoubleScalar of the right type
-
ofSI
Construct Time scalar based on a BASE unit value.- Parameters:
value- value in BASE units- Returns:
- the new scalar with the BASE unit value
-
interpolate
Interpolate between two values. Note that the first value does not have to be smaller than the second.- Parameters:
zero- the value at a ratio of zeroone- the value at a ratio of oneratio- the ratio between 0 and 1, inclusive- Returns:
- a Time at the given ratio between 0 and 1
-
max
Return the maximum value of two absolute scalars.- Parameters:
a1- the first scalara2- the second scalar- Returns:
- the maximum value of two absolute scalars
-
max
Return the maximum value of more than two absolute scalars.- Parameters:
a1- the first scalara2- the second scalaran- the other scalars- Returns:
- the maximum value of more than two absolute scalars
-
min
Return the minimum value of two absolute scalars.- Parameters:
a1- the first scalara2- the second scalar- Returns:
- the minimum value of two absolute scalars
-
min
Return the minimum value of more than two absolute scalars.- Parameters:
a1- the first scalara2- the second scalaran- the other scalars- Returns:
- the minimum value of more than two absolute scalars
-
valueOf
Returns a Time 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 Time- 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 Time based on a value and the textual representation of the unit, which can be localized.- Parameters:
value- the value to useunitString- 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
-