ruby-on-rails - Rails Activerecord 日期从 20 到 20
问题描述
我只需要展示一个月20号到下个月20号之间的作品(每个月20号到20号)
我看到两种情况:
1.- 如果我在任何一个月的 15 岁(或低于 20 岁),我必须从上个月的 20 日到今天显示。
2.- 如果我在任何一个月的 25 岁(或高于 20 岁),我必须从本月 20 日到今天显示。
我不知道类似这样的东西的语法
if Date.today.day > 20
@works = Work.where(created_at: "20 of this month to Date.today")
else
@works = Work.where(created_at: "20 of last month to Date.today")
end
解决方案
date = Date.today.change(day: 20)
date -= 1.month if date > Date.today
@works = Work.where(created_at: date..(date + 1.month))
根据您的具体要求,最后一个条件可以是以下任何一种:
date..(date + 1.month)
date...(date + 1.month)
date..date.today
date...date.today
推荐阅读
- c# - 如何限制从 Internet 访问 Web 资源但在 Intranet 中公开
- django - 更新 django 中的模型字段在运行时无法正常工作
- javascript - 函数触发多次,具体取决于您打开模态的次数
- javascript - 如何通过 Cefsharp 在文本框控件中传递值
- c# - 如何选择**数据库表
- php - 不使用 curl 获取个人数据
- jakarta-ee - ActiveMQ 嵌入式推荐
- javascript - 为什么将新创建的元素插入现有元素会解析 [Object HTMLElement]?
- bash - error while running shell script through jenkins pipeline
- git - How do I limit what I pull down for my gatsby site from my repo?