2011-07-03 74 views
0

我想根據一年中的天數創建一個Datetime對象。 這個數字是從一年的365天(例如它可以是:123或23或344 ...)如何根據當天創建DateTime對象?

我該怎麼做?

感謝

+0

是從今年的開始還是從當天開始? –

回答

2

使用DateTime.ordinal方法。以下是獲得2011年第100天的示例。

require 'date' 
year, day = 2011, 100 
DateTime.ordinal(year, day) 
# #<DateTime: 2011-04-10T00:00:00+00:00 (4911323/2,0,2299161)> 
0

如果你想把它當作天數從現在開始,你應該做到以下幾點:

time = Time.new + (60*60*24)*(numberOfDaysFromNow) 

如果你想它的天從今年你應該開始數請執行以下操作:

time = Time.new(Time.now.year) + (60*60*24)*(dayOfTheYear-1)