给定一天,即星期一和一个日期,例如:2014 年 8 月 9 日,星期六
我怎样才能得到给定日期之后的星期一的日期
更新:
def get_date_after(date, day)
return date if date.wday == day.to_date.wday
days_difference = (date - day.to_date).to_i
result = day.to_date + days_difference + (day.to_date.wday - date.wday)
result = result + 1.week if result.to_date < date
end
我正在寻找类似上述方法的方法,调用它会返回 day 在 date 过去后立即过去的日期
get_date_after(DateTime.parse("15/09/2014").to_date, "Wednesday") #=> 17/09/2014
最佳答案
chronic
gem 允许您解析日期表达式,例如Chronic.parse("下周一")
。您可以使用 now
选项添加引用日期。以下是它如何用于您的方法:
def get_date_after(date, day)
Chronic.parse("next #{day}", now: date)
end
关于ruby-on-rails - Ruby 我怎样才能在给定日期之后获得星期一的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24654012/