2017-04-14 5 views

答えて

4

これは動作するようです:

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

はあまりにも負の数を受け入れ、あなたが期待するものありません。

+0

を時にはそれはあなた自身に尋ねる価値がある「どのように私は、このような機能を実装するのでしょうか?」パントを取る:)。 –

4

Date#next_year方法は、あなたがActiveSupportを使用して気にしない場合は、あなたがそうのような積極的な支援からの時間を必要とすることができ

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

を前進させるためにどのように多くの年の引数を取る:

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 
+0

'10.years'または特に' years'はRailsによって追加されたメソッドであり、Rubyでは見つからないメソッドです。 –

+0

はい、あなたが正しいです、私はあなたがActiveSupportを使用している場合にのみこれを行うことができます言及するために私の答えを変更します。 –

関連する問題