Class PackedLocalTime

java.lang.Object
tech.tablesaw.columns.times.PackedLocalTime

public class PackedLocalTime extends Object
A localTime with millisecond precision packed into a single int value.

The bytes are packed into the int as: First byte: hourOfDay next byte: minuteOfHour last two bytes (short): millisecond of minute

Storing the millisecond of minute in an short requires that we treat the short as if it were unsigned. Unfortunately, Neither Java nor Guava provide unsigned short support so we use char, which is a 16-bit unsigned int to store values of up to 60,000 milliseconds (60 secs * 1000)

  • Method Details

    • getHour

      public static byte getHour(int time)
    • of

      public static int of(int hour, int minute)
    • of

      public static int of(int hour, int minute, int second)
    • of

      public static int of(int hour, int minute, int second, int millis)
    • truncatedTo

      public static int truncatedTo(TemporalUnit unit, int packedTime)
    • plusHours

      public static int plusHours(int hoursToAdd, int packedTime)
    • plusMinutes

      public static int plusMinutes(int minutesToAdd, int packedTime)
    • plusSeconds

      public static int plusSeconds(int secondsToAdd, int packedTime)
    • plusMilliseconds

      public static int plusMilliseconds(int msToAdd, int packedTime)
    • minusHours

      public static int minusHours(int hoursToSubtract, int packedTime)
    • minusMinutes

      public static int minusMinutes(int minutesToSubtract, int packedTime)
    • minusSeconds

      public static int minusSeconds(int secondsToSubtract, int packedTime)
    • minusMilliseconds

      public static int minusMilliseconds(int millisToSubtract, int packedTime)
    • withHour

      public static int withHour(int hour, int packedTime)
    • withMinute

      public static int withMinute(int minute, int packedTime)
    • withSecond

      public static int withSecond(int second, int packedTime)
    • withMillisecond

      public static int withMillisecond(int milliseconds, int packedTime)
    • getMillisecondOfMinute

      public static char getMillisecondOfMinute(int time)
    • getNano

      public static int getNano(int time)
    • getMilliseconds

      public static int getMilliseconds(int time)
    • toNanoOfDay

      public static long toNanoOfDay(int time)
    • asLocalTime

      public static LocalTime asLocalTime(int time)
    • getMinute

      public static byte getMinute(int time)
    • pack

      public static int pack(LocalTime time)
    • getSecond

      public static byte getSecond(int packedLocalTime)
    • getMinuteOfDay

      public static int getMinuteOfDay(int packedLocalTime)
    • getSecondOfDay

      public static int getSecondOfDay(int packedLocalTime)
    • getMillisecondOfDay

      public static int getMillisecondOfDay(int packedLocalTime)
    • toShortTimeString

      public static String toShortTimeString(int time)
    • isMidnight

      public static boolean isMidnight(int packedTime)
    • isNoon

      public static boolean isNoon(int packedTime)
    • isAfter

      public static boolean isAfter(int packedTime, int otherPackedTime)
    • isOnOrAfter

      public static boolean isOnOrAfter(int packedTime, int otherPackedTime)
    • isBefore

      public static boolean isBefore(int packedTime, int otherPackedTime)
    • isOnOrBefore

      public static boolean isOnOrBefore(int packedTime, int otherPackedTime)
    • isEqualTo

      public static boolean isEqualTo(int packedTime, int otherPackedTime)
    • AM

      public static boolean AM(int packedTime)
      Returns true if the time is in the AM or "before noon". Note: we follow the convention that 12:00 NOON is PM and 12 MIDNIGHT is AM
    • PM

      public static boolean PM(int packedTime)
      Returns true if the time is in the PM or "after noon". Note: we follow the convention that 12:00 NOON is PM and 12 MIDNIGHT is AM
    • hoursUntil

      public static int hoursUntil(int packedTimeEnd, int packedTimeStart)
    • minutesUntil

      public static int minutesUntil(int packedTimeEnd, int packedTimeStart)
    • secondsUntil

      public static int secondsUntil(int packedTimeEnd, int packedTimeStart)