Class Time

All Implemented Interfaces:
Serializable, Comparable<Time>, Value<Duration.Unit,Time>

Time is the absolute equivalent of Duration, and can, e.g., represent a calendar date with a zero. Note that built-in time references are independent; DJUNITS does not embed calendar calculations.

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:
  • Constructor Details

    • Time

      public Time(double value, Duration.Unit unit, Time.Reference reference)
      Instantiate a Time quantity with a unit and a reference point.
      Parameters:
      value - the duration value, expressed in a duration unit
      unit - the duration unit in which the value is expressed, relative to the reference point
      reference - the reference point of this time
    • Time

      public Time(double value, String abbreviation, Time.Reference reference)
      Instantiate a Time quantity with a unit, expressed as a String, and a reference point.
      Parameters:
      value - the duration value, expressed in the unit, relative to the reference point
      abbreviation - the String abbreviation of the unit in which the value is expressed
      reference - the reference point of this time
    • Time

      public Time(Duration duration, Time.Reference reference)
      Instantiate a Time instance based on an duration and a reference point.
      Parameters:
      duration - the duration, relative to the reference point
      reference - the reference point of this time
  • Method Details

    • ofSi

      public static Time ofSi(double si, Time.Reference reference)
      Return a Time instance based on an SI value and a reference point.
      Parameters:
      si - the duration si value, relative to the reference point
      reference - the reference point of this time
      Returns:
      the Time instance based on an SI value
    • instantiate

      public Time instantiate(Duration duration, Time.Reference reference)
      Description copied from class: AbsoluteQuantity
      Instantiate an absolute quantity with a quantity and a reference.
      Specified by:
      instantiate in class AbsoluteQuantity<Time,Duration,Duration.Unit,Time.Reference>
      Parameters:
      duration - the relative quantity that indicates the 'distance' to the reference point
      reference - the reference point
      Returns:
      the absolute quantity with a quantity and a reference
    • siUnit

      public SIUnit siUnit()
      Description copied from class: AbsoluteQuantity
      Return the SI unit of this quantity.
      Overrides:
      siUnit in class AbsoluteQuantity<Time,Duration,Duration.Unit,Time.Reference>
      Returns:
      the SI unit of this quantity
    • valueOf

      public static Time valueOf(String text, Time.Reference reference)
      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
      reference - the reference point of this time
      Returns:
      the Scalar representation of the value in its unit
      Throws:
      IllegalArgumentException - when the text cannot be parsed
      NullPointerException - when the text argument is null
    • of

      public static Time of(double value, String unitString, Time.Reference reference)
      Returns a Time based on a value and the textual representation of the unit, which can be localized.
      Parameters:
      value - the value to use
      unitString - the textual representation of the unit
      reference - the reference point of this time
      Returns:
      the Scalar representation of the value in its unit
      Throws:
      IllegalArgumentException - when the unit cannot be parsed or is incorrect
      NullPointerException - when the unitString argument is null
    • subtract

      public Duration subtract(Time other)
      Description copied from class: AbsoluteQuantity
      Subtract two absolute quantities from each other, resulting in the corresponding relative quantity. The unit of the resulting quantity will be the unit of 'this' absolute quantity. Quantity 'other' will be transformed to the reference point of this absolute quantity. If the reference points of this and other are different, and no transformations between the reference points exist, an exception will be thrown.
      Specified by:
      subtract in class AbsoluteQuantity<Time,Duration,Duration.Unit,Time.Reference>
      Parameters:
      other - the absolute quantity to subtract
      Returns:
      the relative quantity as a result of the subtraction
    • add

      public Time add(Duration other)
      Description copied from class: AbsoluteQuantity
      Add a relative quantity to this absolute quantity, resulting in a new absolute quantity containing the sum. The new quantity will have the same reference point and unit as this absolute quantity.
      Specified by:
      add in class AbsoluteQuantity<Time,Duration,Duration.Unit,Time.Reference>
      Parameters:
      other - the relative quantity to add
      Returns:
      the absolute quantity as a result of the addition
    • subtract

      public Time subtract(Duration other)
      Description copied from class: AbsoluteQuantity
      Subtract a relative quantity from this absolute quantity, resulting in a new absolute quantity containing the difference. The new quantity will have the same reference point and unit as this absolute quantity.
      Specified by:
      subtract in class AbsoluteQuantity<Time,Duration,Duration.Unit,Time.Reference>
      Parameters:
      other - the relative quantity to subtract
      Returns:
      the absolute quantity as a result of the subtraction