Ruby on rails 基于Date.today的日期范围

Ruby on rails 基于Date.today的日期范围,ruby-on-rails,date,date-range,Ruby On Rails,Date,Date Range,我有一个应用程序,用来计算一些员工的工资 薪水是从一个月的21号到下个月的20号计算出来的。因此,当员工使用应用程序时,我需要根据今天的日期查找这两个日期(开始日期和结束日期) 我该怎么做?像月初+21这样的东西不起作用,因为当它是一个月内的第三个月时,它就是上个月的月初 找到上一个21号日期和下一个20号日期的简单方法吗?您可以创建一个类似以下内容的助手方法: def paycheck_dates(date, past_day, future_day) before, after =

我有一个应用程序,用来计算一些员工的工资

薪水是从一个月的21号到下个月的20号计算出来的。因此,当员工使用应用程序时,我需要根据今天的日期查找这两个日期(开始日期和结束日期)

我该怎么做?像月初+21这样的东西不起作用,因为当它是一个月内的第三个月时,它就是上个月的月初


找到上一个21号日期和下一个20号日期的简单方法吗?

您可以创建一个类似以下内容的助手方法:

def paycheck_dates(date, past_day, future_day)
    before, after = Date.civil(date.year, date.month, past_day), Date.civil(date.year, date.month, future_day)
    before <<= 1 if before > date
    after >>= 1 if after < date
    return before, after
end
current_date = Date.today
past_date, future_date = paycheck_dates(current_date, 21, 20)

完美的正是我想要的。。谢谢!