【问题标题】:How to calculate past 1 day interval from current time in sqlalchemy如何从 sqlalchemy 中的当前时间计算过去 1 天的间隔
【发布时间】:2015-11-04 11:34:15
【问题描述】:
我希望能够通过检查 datetime 列是否高于现在()前 1 天的某个日期来过滤 sqlalchemy 查询。
任何想法这样做的正确语法是什么?
注意:
1 .sqlalchemy 查询应如下所示:
one_day_interval_before = ?
result = session.query(People).filter(People.registered_at>= one_day_interval_before).all()
- python 中检索到的日期时间应该能够与 mysql 日期时间字段进行比较,格式为(年-月-日时:分:秒)
【问题讨论】:
标签:
python
python-2.7
sqlalchemy
【解决方案1】:
对于 Python 中的时间间隔,请使用 datetime.timedelta。前一天是那时:
from datetime import datetime, timedelta
one_day_interval_before = datetime.now() - timedelta(days=1)
【解决方案2】:
你也可以使用func,它包含了大部分的sql函数
from sqlalchemy import func
result = session.query(People)\
.filter(People.registered_at>= func.ADDDATE(func.NOW(), -1)).all()
【解决方案3】:
datetime.datetime.strftime(datetime.datetime.now()-datetime.timedelta(1),'%Y-%m-%d')