为明天的Ruby创建一个DateTime

时间:2015-08-07 00:23:38

标签: ruby date datetime

我知道我可以创建Date.tomorrow并且有midnightat_noon等选项。我需要比这更具体的时间。

具体来说,我希望创建一个明天上午11点的DateTime。我没有在DateTime文档中看到任何内容。有没有简单的方法来实现这一目标?谢谢!

2 个答案:

答案 0 :(得分:3)

Pure Ruby:

(Date.today + 1).to_datetime + Rational(11, 24)

或等效,

Date.today.to_datetime + Rational(35, 24)

答案 1 :(得分:3)

在Rails中,您可能会使用tomorrowin_time_zonechange

Date.tomorrow.in_time_zone.change(hour: 11)
#=> Sat, 08 Aug 2015 11:00:00 CEST +02:00

这会返回ActiveSupport::TimeWithZone个实例,就像midnightat_noon等一样。