Ruby:如何将10年添加到DateTime.now

时间:2017-04-14 20:35:44

标签: ruby

在ruby中,我使用DateTime.now.next_year.to_time来获取一年后一天的时间和日期。现在需要改为10年。我怎么能这样做。

3 个答案:

答案 0 :(得分:7)

这似乎有效:

 DateTime.now.next_year(10).to_time
 #=> 2027-04-14 20:40:38 +0000 

也接受负数并做你期望的事。

答案 1 :(得分:5)

Date#next_year方法会讨论推进多少年

DateTime.now.next_year(10).to_time
#=> 2027-04-14 16:41:09 -0400

答案 2 :(得分:1)

如果您不介意使用ActiveSupport,可以从活动支持中获取时间,如下所示:

require "active_support/time"

然后你可以这样做以获得一个DateTime对象:

DateTime.now + 10.years
=> Thu, 15 Apr 2027 13:02:15 +0000

或者如果您想要Time对象:

DateTime.now.to_time + 10.years
=> 2027-04-15 13:02:15 +0000