How to create a list of random dates in Ruby

1 Answer

0 votes
require 'date'

# Generate a random date between two years using Date
def random_date(start_year, end_year)
  # Convert start and end years to timestamps
  start_date = Date.new(start_year, 1, 1)
  end_date   = Date.new(end_year, 12, 31)

  # Uniform distribution over the timestamp range
  range_days = (end_date - start_date).to_i
  offset = rand(0..range_days)

  # Convert back to Date
  start_date + offset
end

dates = []

10.times do
  dates << random_date(1990, 2030)
end

dates.each do |d|
  puts "#{d.year}-#{d.month}-#{d.day}"
end



=begin
run:

2019-10-14
2025-8-8
2015-12-30
2030-11-19
2029-10-3
2017-1-2
1995-12-27
2027-2-26
2022-6-19
2020-7-11

=end

 



answered 16 hours ago by avibootz
edited 12 hours ago by avibootz
...