几个月前,我无法找到一种方法(使用类定义)。秒,日和分钟都很好,因为它们总是常数。然而,由于几个月并不总是不变的,我需要知道一种方法让红宝石知道当月有多少天。
答案 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
然而,正如另一位读者所指出的那样 - 似乎所需的内容可能是几个月前,而不是一个月的天数。
这个问题回答了问题的后半部分:“我需要知道一种方法让红宝石知道当月的天数。”