code: public static Date randomDate(Date startInclusive, Date endExclusive) {
      checkArgument(startInclusive != null, "Start must be non-null");
      checkArgument(endExclusive != null, "End must be non-null");
      Instant startInstant = startInclusive.toInstant();
      Instant endInstant = endExclusive.toInstant();
      Instant instant = randomInstant(startInstant, endInstant);
      return Date.from(instant);
    }
docs: Returns a random {@link Date} within the specified range.
  
  @param startInclusive the earliest {@link Date} that can be returned
  @param endExclusive the upper bound (not included)
  @return the random {@link Date}
  @throws IllegalArgumentException if startInclusive or endExclusive are null or if endExclusive
  is earlier than startInclusive