如何根据当天创建DateTime对象?

时间:2011-07-03 10:23:56

标签: ruby

我想根据一年中的天数创建一个Datetime对象。 这个数字来自一年中的365天(例如,它可以是:123或23或344 ......)

我该怎么做?

由于

2 个答案:

答案 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)>

答案 1 :(得分:0)

如果您想要它作为从现在开始的天数,您应该执行以下操作:

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

如果您希望它作为从年初开始的天数,您应该执行以下操作

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