ruby-on-rails - 给定一个字符串中的日期名称,我如何才能获得表示本周内该日期的 Time 对象?

标签 ruby-on-rails ruby ruby-on-rails-3 time

给定一个带有日期名称的字符串,即 "Wednesday",我如何获得表示当前周(星期一至星期日)中的那一天的时间对象?

例如,如果当天是 5 月 29 日星期二,字符串是 "Monday",则时间对象应该表示 5 月 28 日星期一。如果字符串是 "Friday",则它应该是 Frid​​ay 1 June

而如果当天是 6 月 5 日星期二,并且字符串是 "Monday",则时间对象应该表示 6 月 4 日星期一。如果字符串是 "Friday",则它应该是 Frid​​ay 8 June

我正在使用 Rails 3.2.0 和 Ruby 1.9.2。

最佳答案

对于这些类型的文本日期引用,有一个非常方便的 gem,称为 Chronic:
http://chronic.rubyforge.org/

为了您的目的,您可以使用“本周”引用:

Chronic.parse("monday this week")
Chronic.parse("friday this week")
..etc..

..这应该能像预期的那样工作。

关于ruby-on-rails - 给定一个字符串中的日期名称,我如何才能获得表示本周内该日期的 Time 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10808889/

相关文章:

ruby-on-rails - Nokogiri XML 和循环不起作用

ruby-on-rails - 如何使用 Ruby 比较两个表

ruby - 在 Ruby 中读取文件时转到下一行

ruby-on-rails - 是否可以通过 ruby​​ on Rails 中的一个表单提交来更新多个数据库表?

ruby-on-rails - Capistrano 和 Assets :precompile not working due to rake versioning issue

ruby-on-rails - 在 Heroku Rails 应用程序上动态缩放 Dyno 工作线程大小

ruby-on-rails - 不同rvm gemset中的rake版本

mysql - 如何仅在 Rails 中使用时间数据类型?

ruby - 这个 #divmod 方法正在做什么来输出这个结果?

html - 链接和键盘焦点