ruby-on-rails - 检查帖子是否在特定日期后发布

标签 ruby-on-rails ruby datetime activerecord

我需要找到一种方法来检查帖子是否在特定日期后发布。我知道我可以使用 Time.parse 将存储在数据库中 created_at 列下的日期转换为 ruby​​ 格式的日期。但是从那以后我被困住了。

我需要检查日期是否比最近周一午夜过去的日期更新。我知道我可以使用 > 和 <= 等常规比较元素来比较日期。所以我只需要找到一种方法来获取已经过去的最近星期一的日期。

如果有什么地方不够清楚,请告诉我。

谢谢。

最佳答案

要获取已经过去的最近星期一的日期,您可以这样做:

Date.today.beginning_of_week(:monday)
# => Mon, Aug 10 2015

您可以使用它来检查提供的日期是否比之前过去的星期一或一周中的任何一天更近:

def is_more_recent(date, day)
  date > Date.today.beginning_of_week(day.to_sym)
end

is_more_recent(Date.today, :monday)
# => true

希望对您有所帮助!

关于ruby-on-rails - 检查帖子是否在特定日期后发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31954054/

相关文章:

ruby-on-rails - rails : retrieving image from Facebook after Omniauth login with Devise

ruby-on-rails - cucumber :共享步骤,放在哪里?

Python Timedelta 算术与 noleap 日历

ruby - 将 unicode 文本与 Ruby 1.8.7 匹配

mysql - 如何获取按月分组的总工作时间?

cocoa - 在 macOS 中观察系统日期/时间的变化

ruby-on-rails - FactoryGirl - 如何在运行测试之前在数据库中生成类别条目的层次结构?

ruby-on-rails - ruby 中多个决策的干净实现

ruby-on-rails - Mongoid 默认范围覆盖默认值。为什么?

ruby-on-rails - 在 Ruby 中使用 max_by 查找哈希中最大数字的键