Package tech.tablesaw.columns.times
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)
-
-
Constructor Summary
Constructors Constructor Description PackedLocalTime()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static booleanAM(int packedTime)Returns true if the time is in the AM or "before noon".static LocalTimeasLocalTime(int time)static bytegetHour(int time)static intgetMillisecondOfDay(int packedLocalTime)static chargetMillisecondOfMinute(int time)static intgetMilliseconds(int time)static bytegetMinute(int time)static intgetMinuteOfDay(int packedLocalTime)static intgetNano(int time)static bytegetSecond(int packedLocalTime)static intgetSecondOfDay(int packedLocalTime)static inthoursUntil(int packedTimeEnd, int packedTimeStart)static booleanisAfter(int packedTime, int otherPackedTime)static booleanisBefore(int packedTime, int otherPackedTime)static booleanisEqualTo(int packedTime, int otherPackedTime)static booleanisMidnight(int packedTime)static booleanisNoon(int packedTime)static booleanisOnOrAfter(int packedTime, int otherPackedTime)static booleanisOnOrBefore(int packedTime, int otherPackedTime)static intminusHours(int hoursToSubtract, int packedTime)static intminusMilliseconds(int millisToSubtract, int packedTime)static intminusMinutes(int minutesToSubtract, int packedTime)static intminusSeconds(int secondsToSubtract, int packedTime)static intminutesUntil(int packedTimeEnd, int packedTimeStart)static intof(int hour, int minute)static intof(int hour, int minute, int second)static intof(int hour, int minute, int second, int millis)static intpack(LocalTime time)static intplusHours(int hoursToAdd, int packedTime)static intplusMilliseconds(int msToAdd, int packedTime)static intplusMinutes(int minutesToAdd, int packedTime)static intplusSeconds(int secondsToAdd, int packedTime)static booleanPM(int packedTime)Returns true if the time is in the PM or "after noon".static intsecondsUntil(int packedTimeEnd, int packedTimeStart)static longtoNanoOfDay(int time)static StringtoShortTimeString(int time)static inttruncatedTo(TemporalUnit unit, int packedTime)static intwithHour(int hour, int packedTime)static intwithMillisecond(int milliseconds, int packedTime)static intwithMinute(int minute, int packedTime)static intwithSecond(int second, int packedTime)
-
-
-
Method Detail
-
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)
-
-