我想在我的查询中添加一个条件来过滤日期低于当月的记录。我怎样才能做到这一点?我尝试使用clj-time来检索当前月份并将其与DB字段匹配。但这并没有给我带来任何好运。
答案 0 :(得分:1)
实际上,使用clj-time
确定当前月份非常简单:
(month (now)) ; number from 1 to 12
但是,既然您正在尝试查询数据库,那么您应该对当月的开头感兴趣:
(let [t (now)]
(date-time (year t) (month t)))
此代码将返回一个有效的DateTime
对象,对应于当前月份的开头。您可以使用此对象来查询SQL数据库:
(select objects
(where {:created [> start_of_the_current_month]}))