ruby - 在ruby中设置DateTime的时间部分

标签 ruby datetime

假设我有一个日期时间对象,例如 DateTime.now。我想将小时和分钟设置为 0(午夜)。我该怎么做?

最佳答案

在 Rails 环境中:

感谢ActiveSupport你可以使用:

DateTime.now.midnight
DateTime.now.beginning_of_day

DateTime.now.change({ hour: 0, min: 0, sec: 0 })

# More concisely
DateTime.now.change({ hour: 0 })                

在纯 Ruby 环境中:

now = DateTime.now
DateTime.new(now.year, now.month, now.day, 0, 0, 0, now.zone)

now = DateTime.now
DateTime.parse(now.strftime("%Y-%m-%dT00:00:00%z"))

关于ruby - 在ruby中设置DateTime的时间部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6327396/

相关文章:

ruby - 使用 gsub 和 block 时传递原始字符串 PLUS 匹配?

ruby - ruby 如何区分实例方法和类方法定义?

java - 如何跟踪或至少检测无效的电子邮件地址

python - 如何从 Python 中的 csv 列中减去/添加时间?

python - 如何将 Pandas DateTime Quarter 对象转换为字符串

android - 判断一个时间是否在另外两个时间之间

datetime - 设置日期时间值的格式 日值

当我在 'ensure' 中的 'retry' 时,Ruby 不为 'rescue'

javascript - D3v4 : d3. timeParse 失败,UNIX 纪元秒 (%s)

ruby-on-rails - 如何让 ActionController::Live streaming 与 Thin 一起工作?