Лучший способ создать случайный DateTime в Rails - PullRequest
37 голосов
/ 09 марта 2010

Каков наилучший способ генерации случайного DateTime в Ruby / Rails? Попытка создать хороший файл seed.rb. Собираюсь использовать это так:

 Foo.create(name: Faker::Lorem.words, description: Faker::Lorem.sentence, start_date: Random.date)

Ответы [ 11 ]

0 голосов
/ 09 марта 2010

Я сам не пробовал, но вы могли бы создать случайное целое число между двумя датами, используя количество секунд с начала эпохи. Например, чтобы получить случайную дату за последнюю неделю.

end = Time.now
start = (end - 1.week).to_i
random_date = Time.at(rand(end.to_i - start)) + start

Конечно, вы получите объект Time вместо DateTime, но я уверен, что вы можете скрыть отсюда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...