几个月前在红宝石

时间:2010-10-04 15:54:22

标签: ruby class

几个月前,我无法找到一种方法(使用类定义)。秒,日和分钟都很好,因为它们总是常数。然而,由于几个月并不总是不变的,我需要知道一种方法让红宝石知道当月有多少天。

3 个答案:

答案 0 :(得分:7)

如果您的应用程序使用ActiveSupport(例如Rails应用程序),则可以使用

3.months.ago

使当前日期少于3个月。

答案 1 :(得分:0)

如果你需要知道两个日期之间有多少天,比如今天和上个月的同一天你可以这样做:

(Date.today - Date.today.prev_month).to_i

这将为您提供上个月的天数。如果您想知道当月的天数,可以改为:

(Date.today.next_month - Date.today).to_i

答案 2 :(得分:-2)

这是你要找的吗? DaysIn(MonthNum)

编辑2019-01-20(用于历史目的)

在评论中,据报道该链接已被破坏。感谢Internet Archive,这是原始文章。

代码块建议有:

def DaysIn(MonthNum)
   (Date.new(Time.now.year,12,31).to_date<<(12-MonthNum)).day
end

然而,正如另一位读者所指出的那样 - 似乎所需的内容可能是几个月前,而不是一个月的天数。

这个问题回答了问题的后半部分:“我需要知道一种方法让红宝石知道当月的天数。”