我希望从现在起的早上8点获得一个DateTime。
一周很容易:
DateTime.now + 1.week
如何将结果日期设置为特定时间?
答案 0 :(得分:11)
有很多方法可以实现这一目标。这是一个:
Time.parse('8am') + 1.week
这是另一个:
DateTime.now.beginning_of_day + 1.week + 8.hours
或者怎么样:
1.week.from_now.beginning_of_day + 8.hours
甚至:
DateTime.now.advance(days: 7).change(hour: 8)
答案 1 :(得分:5)
[...]从现在开始的1个星期早上8点
我通过以下方式表达:
1.week.from_now.change(hour: 8)
#=> Thu, 12 Oct 2017 08:00:00 CEST +02:00
change
会自动设置"较小的"时间单位(分,秒等)为0。
答案 2 :(得分:4)
像这样,例如:
(DateTime.now + 1.week).beginning_of_day + 8.hours