Class HexadecimalTime

java.lang.Object
org.episteme.social.history.time.Time
org.episteme.social.history.clock.HexadecimalTime
All Implemented Interfaces:
Serializable

public class HexadecimalTime extends Time
Represents Hexadecimal Time (16h per day, 16 maximes per hour, 16 minutes per maxime, 16 seconds per minute).

This system divides the day into 65,536 hexadecimal seconds (hexsecs). One hexsec is exactly 1.318359375 standard seconds.

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
See Also:
  • Field Details

    • HOURS_PER_DAY

      public static final int HOURS_PER_DAY
      See Also:
    • MAXIMES_PER_HOUR

      public static final int MAXIMES_PER_HOUR
      See Also:
    • MINUTES_PER_MAXIME

      public static final int MINUTES_PER_MAXIME
      See Also:
    • SECONDS_PER_MINUTE

      public static final int SECONDS_PER_MINUTE
      See Also:
    • MILLIS_PER_SECOND

      public static final int MILLIS_PER_SECOND
      See Also:
    • HEX_SECOND

      public static final Unit<Time> HEX_SECOND
      Base unit for hexadecimal seconds (1.318359375 SI seconds).
    • HEX_MILLISECOND

      public static final Unit<Time> HEX_MILLISECOND
      Unit for one hexadecimal millisecond.
    • HEX_MINUTE

      public static final Unit<Time> HEX_MINUTE
      Unit for one hexadecimal minute (16 hex seconds).
    • HEX_MAXIME

      public static final Unit<Time> HEX_MAXIME
      Unit for one hexadecimal maxime (16 hex minutes).
    • HEX_HOUR

      public static final Unit<Time> HEX_HOUR
      Unit for one hexadecimal hour (16 hex maximes).
    • HEX_DAY

      public static final Unit<Time> HEX_DAY
      Unit for one hexadecimal day (16 hex hours).
  • Constructor Details

    • HexadecimalTime

      public HexadecimalTime(double days, double hours, double maximes, double minutes, double seconds, double millis)
      Creates HexadecimalTime from components.
      Parameters:
      days - count of days
      hours - hex hours (0-15)
      maximes - hex maximes (0-15)
      minutes - hex minutes (0-15)
      seconds - hex seconds (0-15)
      millis - hex milliseconds (0-999)
      Throws:
      IllegalArgumentException - if any value is negative
    • HexadecimalTime

      public HexadecimalTime(double millis)
      Creates HexadecimalTime from raw milliseconds.
      Parameters:
      millis - total milliseconds
      Throws:
      IllegalArgumentException - if millis is negative
    • HexadecimalTime

      public HexadecimalTime()
      Creates HexadecimalTime with current moment.
  • Method Details

    • getTime

      public Quantity<Time> getTime()
      Description copied from class: Time
      Returns the total elapsed time as a quantity.
      Specified by:
      getTime in class Time
      Returns:
      the amount of time
    • getMilliseconds

      public int getMilliseconds()
      Specified by:
      getMilliseconds in class Time
    • getSeconds

      public int getSeconds()
      Specified by:
      getSeconds in class Time
    • getMinutes

      public int getMinutes()
      Specified by:
      getMinutes in class Time
    • getMaximes

      public int getMaximes()
      Returns the hex maxime component.
      Returns:
      maximes
    • getHours

      public int getHours()
      Specified by:
      getHours in class Time
    • getDays

      public int getDays()
      Specified by:
      getDays in class Time
    • nextMillisecond

      public void nextMillisecond()
      Specified by:
      nextMillisecond in class Time
    • nextSecond

      public void nextSecond()
      Specified by:
      nextSecond in class Time
    • nextMinute

      public void nextMinute()
      Specified by:
      nextMinute in class Time
    • nextMaxime

      public void nextMaxime()
      Increments the time by one hex maxime.
    • nextHour

      public void nextHour()
      Specified by:
      nextHour in class Time
    • nextDay

      public void nextDay()
      Specified by:
      nextDay in class Time
    • toString

      public String toString()
      Specified by:
      toString in class Time