如何在Flask_sqlalchemy中查询时间段或者时间点?

Flask_sqlalchemy快速查找时间段和比较方法
如何限制每日签到次数?

背景

今天接到一个需要是通过时间限制签到次数,每日签到两次,这里需要flask-sqlalchemy模块fliter方法过滤时间范围。

代码

1
fliter(db.cast(t.time, db.DATE) == datetime.date.today())
  • 这里注意db.cast(t.time, db.DATE)的db.cast和db.DATE使用,将时间转换成日期
  • datetime.date.today() 只获取当前时间
  • 这里获取的时间是 2020-02-07 这样格式的数据
  • 需要解决,比对数据库中今天的数据的数量是否小于2次

延申

查找时间段

1
2
filter(User.birthday < '1996-01-01').\
filter(User.birthday >= '1990-01-01')

或者

1
2
3
4
5
6
from datetime import date 

start = date(year=2016,month=11,day=1)
end = date(year=2016,month=11,day=30)

posts = Post.query.filter(Post.post_time <= end).filter(Post.post_time >= start)

python获取当前年月日

1
2
3
4
import datetime
datetime.datetime.now().year
datetime.datetime.now().month
datetime.datetime.now().day
小伟科技 wechat
本人微信!欢迎关注我!
欢迎打赏支持!