Hace poco necesitaba generar fechas (con horas) aleatoriamente para un campo recién creado en una tabla de mySQL, y necesitaba generar fechas que estuvieran dentro de un rango determinado, encontré esta solución la cual solo necesitamos ingresar la fecha de inicio y la fecha final en formato UNIX TimeStamp, esto lo pueden hacer en la siguiente página: http://www.onlineconversion.com/unix_time.htm

SELECT FROM_UNIXTIME(ROUND((RAND() * (14648256011420070401) + 1420070401)));

El primer número es la fecha FINAL y los otros dos son la fecha INICIAL, con esto se generarán fechas aleatorias entre ese rango.

Espero sea de utilidad.