ruby-on-rails - Ruby 我怎样才能在给定日期之后获得星期一的日期

标签 ruby-on-rails ruby date datetime

给定一天,即星期一和一个日期,例如: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

我正在寻找类似上述方法的方法,调用它会返回 daydate 过去后立即过去的日期

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/

相关文章:

ruby-on-rails - 在YouTube以外的网站上是否可以嵌入视频?

ruby-on-rails - Rspec - Rails - 如何跟随重定向

ruby - 在 fork 之前强制断开与 DataMapper(DataObjects 适配器)的连接?

ruby-on-rails - Ruby on Rails 中的垃圾收集器?

php - MYSQL 在年份日期之间选择

ruby-on-rails - Solr (sunspot) 使用连字符和停用词查询

ruby - 在 Ruby 中交换字符串中的字母

mysql - 即使count=0 mysql也选择

ruby - 如何让 strptime 引发带有垃圾尾随字符的 ArgumentError

ruby-on-rails - 嵌套模型、表单和 date_select FormHelper 集成