雖然不要忽視'日期和時間'部分。如何在兩個日期之間生成隨機日期和時間?
28
A
回答
56
Time.at((date2.to_f - date1.to_f)*rand + date1.to_f)
您會得到兩個給定日期之間的時間對象。
2
我不知道關於紅寶石,但你爲什麼不只是生成一個整數,並與時間戳一起使用?然後簡單地將時間戳轉換爲您想要的格式。
0
計算兩個日期之間的差異例如分鐘數,生成0到該數字之間的隨機數,並將該分鐘數添加到第一個日期。
4
使用time.to_i()
(請參見類Time
)將日期轉換爲整數,在這兩個值之間隨機化,然後使用Time.at()
重新轉換爲時間和日期。
29
您應該能夠在一定範圍內生成隨機日期/時間。
now = Time.now
a_day_ago = now - 60 * 60 * 24
random_time = rand(a_day_ago..now)
# with activesupport required
up_to_a_year_ago = rand(1.year.ago..Time.now)
您的輸入需要是Time
類,或者轉換爲一個。
你也可以在時代做一段時間,然後使用Time#at
。
now = Time.now.to_i
minute_ago = (Time.now - 60).to_i
Time.at(rand(minute_ago..now))
0
如果您知道中點上,你可以用我的ISH寶石中點兩側的偏移範圍:https://github.com/spilliton/ish
mid_date.ish(:offset => 60.days)
4
使用rand()
方法。
require 'time'
t1 = Time.parse("2015-11-16 14:40:34")
t2 = Time.parse("2015-11-20 16:20:23")
puts rand(t1..t2)
0
Time.at(rand(Time.parse('some date').to_i..Time.now.to_i))
相關問題
- 1. 如何生成兩個日期之間的所有日期
- 2. 用兩個日期之間的隨機日期時間更新每行
- 3. 如何隨機生成特定的日期之間的日期在MySQL
- 4. 在兩個日期之間生成日期
- 5. 如何使用php在兩個日期之間生成隨機數據?
- 6. 查找兩個日期之間發生的日期日期
- 7. 機器人 - 隨機生成的日期和時間
- 8. 生成的Java(喬達時間)隨機日期時間
- 9. 獲取兩個日期之間的最大日期/時間
- 10. 日期之間的日期與時間
- 11. 如何檢查日期是否在兩個日期之間mysql?
- 12. 如何在兩個日期之間動態選擇日期
- 13. 如何彙總和平均兩個日期之間的時間?
- 14. 計算兩個日期之間的日間時間和夜間時間
- 15. 生成隨機日期
- 16. 在兩個輸入日期之間創建日期和時間列表
- 17. 日期間的計算在兩個日期之間
- 18. VB.NET確定兩個日期和時間之間的時間差
- 19. TSQL更新的日期時間與隨機值2個日期
- 20. MySQL使用現在時間在兩個日期之間選擇一個日期
- 21. PHP如果在兩個日期之間
- 22. 如何查看日期是否在兩個其他日期之間,以及所用時間和剩餘時間?
- 23. 如何在mysql中顯示兩個日期之間的時間
- 24. 兩列之間的Mysql日期時間
- 25. 如何日期和時間轉換成日期時間/時間戳
- 26. 如何同步PC和手機之間的日期和時間?
- 27. 如何從日期時間戳的時間和日期在PHP
- 28. 兩個日期之間的時差
- 29. 如何查找兩個指定日期之間的日期?
- 30. 我如何計算兩個日期之間的日期
這是一個很好的解決方案。然而一記可能是爲了;您需要將您的日期轉換爲時間才能在其上調用'to_f'。 'Date'沒有'to_f'。 即'Date.today.to_time' – 2011-11-03 15:11:16
+1簡單,重點,美觀。非常感謝。 – 2011-11-23 10:45:58
我需要找到一種方法給你另一個+1 - 本週第二次我已經提到這個答案! – 2011-11-27 06:09:11