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