@Override
  public int hashCode() {
    long seconds = getSeconds();
    seconds <<= 30;  // the nanosecond part fits in 30 bits
    seconds |= getNanos();
    return (int) ((seconds >>> 32) ^ seconds);
  }
@return double representation of the timestamp, accurate to microseconds
serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampWritableV2.java