class PackedLocalDateTime extends PackedInstant {

  public static long getMillisecondOfDay(long packedLocalDateTime) {
    LocalDateTime localDateTime = PackedLocalDateTime.asLocalDateTime(packedLocalDateTime);
    if (localDateTime == null) {
      throw new IllegalArgumentException("Cannot get millisecond of day for missing value");
    }
    long total = (long) localDateTime.get(ChronoField.MILLI_OF_SECOND);
    total += localDateTime.getSecond() * 1000;
    total += localDateTime.getMinute() * 60 * 1000;
    total += localDateTime.getHour() * 60 * 60 * 1000;
    return total;
  }

  private  PackedLocalDateTime();

}