Abu*_*nce 3 ruby ruby-on-rails date
您如何将日期字符串(即"Monday"或"Wednesday")转换为相应的wday整数(1或3)?
我想出了这种令人费解的方法
Date.today.beginning_of_week("Monday".downcase.to_sym).wday
Run Code Online (Sandbox Code Playgroud)
您可以使用解析它strptime:
Date.strptime('Monday', '%A').wday
#=> 1
Date.strptime('Wednesday', '%A').wday
#=> 3
Run Code Online (Sandbox Code Playgroud)
中间日期对象是指当前星期中的工作日:
Date.today
#=> #<Date: 2018-11-20 ...>
Date.strptime('Monday', '%A')
#=> #<Date: 2018-11-19 ...>
Run Code Online (Sandbox Code Playgroud)
您还可以使用_strptime(带有下划线前缀)提取恰好在:wday一个工作日内的日期元素:
Date._strptime('Monday', '%A')
#=> {:wday=>1}
Run Code Online (Sandbox Code Playgroud)