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="2023-07-23T14:06:38.224104100Z")
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-2024 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
Fields inherited from class org.djunits.value.vdouble.scalar.base.DoubleScalar
si
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfinal Time
instantiateAbs
(double value, TimeUnit unit) Construct a new Absolute Immutable DoubleScalar of the right type.final Duration
instantiateRel
(double value, DurationUnit unit) Construct a new Relative Immutable DoubleScalar of the right type.static final Time
instantiateSI
(double value) Construct Time scalar.static Time
interpolate
(Time zero, Time one, double ratio) Interpolate between two values.static Time
Return the maximum value of two absolute scalars.static Time
Return the maximum value of more than two absolute scalars.static Time
Return the minimum value of two absolute scalars.static Time
Return the minimum value of more than two absolute scalars.static Time
Returns a Time based on a value and the textual representation of the unit, which can be localized.static Time
Returns 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, rint
Methods inherited from class org.djunits.value.vdouble.scalar.base.DoubleScalar
compareTo, divide, doubleValue, eq, eq0, equals, floatValue, ge, ge0, getInUnit, getInUnit, getSI, gt, gt0, hashCode, instantiate, instantiateAnonymous, instantiateSI, interpolate, interpolate, intValue, le, le0, longValue, lt, lt0, max, max, min, min, minus, minus, minus, multiply, ne, ne0, plus, plus, plus, toDisplayString, toDisplayString, toString, toString, toString, toString, toStringSIPrefixed, toStringSIPrefixed, toTextualString, toTextualString
Methods inherited from class org.djunits.value.base.Scalar
format, format, getDisplayUnit, setDisplayUnit
Methods inherited from class java.lang.Number
byteValue, shortValue
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.djunits.value.Value
isAbsolute, isRelative
-
Field Details
-
ZERO
Constant with value zero.
-
-
Constructor Details
-
Time
Construct Time scalar.- Parameters:
value
- double; valueunit
- TimeUnit; unit for the double value
-
Time
Construct Time scalar.- Parameters:
value
- Time; Scalar from which to construct this instance
-
-
Method Details
-
instantiateAbs
Description copied from class:DoubleScalarAbs
Construct a new Absolute Immutable DoubleScalar of the right type. Each extending class must implement this method.- Specified by:
instantiateAbs
in classDoubleScalarAbs<TimeUnit,
Time, DurationUnit, Duration> - Parameters:
value
- double; the double valueunit
- AU; the absolute unit- Returns:
- A a new absolute instance of the DoubleScalar of the right type
-
instantiateRel
Description copied from class:DoubleScalarAbs
Construct a new Relative Immutable DoubleScalar of the right type. Each extending class must implement this method.- Specified by:
instantiateRel
in classDoubleScalarAbs<TimeUnit,
Time, DurationUnit, Duration> - Parameters:
value
- double; the double valueunit
- RU; the unit- Returns:
- R a new relative instance of the DoubleScalar of the right type
-
instantiateSI
Construct Time scalar.- Parameters:
value
- double; value in SI units- Returns:
- Time; the new scalar with the SI value
-
interpolate
Interpolate between two values.- Parameters:
zero
- Time; the low valueone
- Time; the high valueratio
- double; the ratio between 0 and 1, inclusive- Returns:
- Time; a Scalar at the ratio between
-
max
Return the maximum value of two absolute scalars.- Parameters:
a1
- Time; the first scalara2
- Time; the second scalar- Returns:
- Time; the maximum value of two absolute scalars
-
max
Return the maximum value of more than two absolute scalars.- Parameters:
a1
- Time; the first scalara2
- Time; the second scalaran
- Time...; the other scalars- Returns:
- the maximum value of more than two absolute scalars
-
min
Return the minimum value of two absolute scalars.- Parameters:
a1
- Time; the first scalara2
- Time; the second scalar- Returns:
- the minimum value of two absolute scalars
-
min
Return the minimum value of more than two absolute scalars.- Parameters:
a1
- Time; the first scalara2
- Time; the second scalaran
- Time...; 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
- String; the textual representation to parse into a Time- Returns:
- Time; 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
- double; the value to useunitString
- String; the textual representation of the unit- Returns:
- Time; 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
-