public final boolean hasDecimal() {
    return hasDecimalOrSecondVInt() || currentBytes[offset + 4] != -1;
    // If the first byte of the VInt is -1, the VInt itself is -1, indicating that there is a
    // second VInt but the nanoseconds field is actually 0.
  }
Converts the time in seconds or milliseconds to a timestamp.
@param time time in seconds or in milliseconds
@return the timestamp
serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampWritable.java