几个月前在红宝石

Eli*_*Eli 7 ruby class

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

Sim*_*tti 8

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

3.months.ago
Run Code Online (Sandbox Code Playgroud)

使当前日期减少3个月.

  • 如果没有ActiveSupport,您可以使用Date.today << 3. (7认同)

Wal*_*ner -2

这是您要找的吗? 天数(月数)

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

据报道,评论中的链接已损坏。感谢互联网档案馆,这是原始文章。

代码块表明有:

def DaysIn(MonthNum)
   (Date.new(Time.now.year,12,31).to_date<<(12-MonthNum)).day
end
Run Code Online (Sandbox Code Playgroud)

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

这个问题回答了问题的后半部分:“我需要知道一种方法让 ruby​​ 知道当前月份有多少天。”