我使用此代碼在Ruby中生成日期。生成隨機日期
DateTime.strptime("10/26/2015 07:09:52 AM", '%m/%d/%Y %I:%M:%S %p')
我怎樣才能生成例如6個月範圍的隨機日期?
我使用此代碼在Ruby中生成日期。生成隨機日期
DateTime.strptime("10/26/2015 07:09:52 AM", '%m/%d/%Y %I:%M:%S %p')
我怎樣才能生成例如6個月範圍的隨機日期?
我會使用一個更簡單的方法 - 如果我們假定說6個月15552000秒的輪數(86400 * 180),那麼你可以做:
Time.now - rand(15552000)
要減去的隨機量從當前時間開始,在最近6個月內獲得一個隨機Time對象。
然後可以使用strftime它在你希望的任何格式來格式化:
(Time.now - rand(15552000)).strftime('%m/%d/%Y %I:%M:%S %p')
=> "11/02/2016 12:04:05 AM"
這也並不取決於on Rails的任何東西。
完美解決方案! +1 –
從現在到未來6個月之間的隨機日期。
不設各月在30日:
now = DateTime.now
six_months_later = now >> 6
days_variance = (six_months_later - now).to_i
random_moment = now + Rational(rand(days_variance * 86400), 86400)
random_moment.strftime('%m/%d/%Y %I:%M:%S %p')
你需要日期或日期時間? – ndn
你能告訴我兩種選擇嗎? –
我只是想要我的數字:) – sevenseacat