ruby - 生成随机日期

标签 ruby

我使用此代码在 Ruby 中生成日期。

DateTime.strptime("10/26/2015 07:09:52 AM", '%m/%d/%Y %I:%M:%S %p')

如何生成范围(例如 6 个月)的随机日期?

最佳答案

我会使用更简单的方法 - 如果我们假设 6 个月内 15,552,000 秒为一个整数 (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"

这也不依赖于 Rails。

关于ruby - 生成随机日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42418585/

相关文章:

ruby-on-rails - Ruby 中的内存管理

ruby-on-rails - 为什么表达式 "a, b = 5"在 Ruby 中将 a 设置为 5,而将 b 设置为 nil?

ruby - 理解 RSpec 中 as_null_object 的需求

ruby - 从命令行调用 Ruby 方法

ruby-on-rails - 在 ruby​​ 中用 AND 替换空格

css - Rails 和 Compass - 为每个 View / Controller 创建不同 CSS 的正确方法是什么?

ruby-on-rails - Twitter 仍然在 Rails 上运行吗?

ruby - Ruby 中的奇怪//语法

ruby - 使用 rvm 安装 ruby​​ 时出错

ruby-on-rails - 使用ruby-thread,sidekiq,并使用Thread.pool与ActiveRecord保存