Time.at((date2.to_f - date1.to_f)*rand + date1.to_f)
Вы получите объект времени, который находится между двумя заданными датами.
Я не знаете о рубине, но почему бы вам просто не сгенерировать целое число и не использовать его вместе с меткой времени? Затем просто преобразуйте метку времени в желаемый формат.
Вычислите разницу, например, в минутах между двумя датами, сгенерируйте случайное число между 0 и этим числом и добавьте это количество минут к первой дате .
Используйте time.to_i()
(см. класс Time
) для преобразования даты в целое число, рандомизируйте между этими двумя значениями, затем снова преобразуйте дату и время с помощью Time.at()
.