嗨,我想使用if语句过滤我的商品,我只需要获取过去24小时内发布的商品
这是我的代码
#date where the item is posted
datime = response.css("a.datePermalink abbr::text").extract_first()
datime = datime.replace('at', '')
datime = parser.parse(datime)
if now-timedelta(hours=24) <= datime:
有什么想法吗?
答案 0 :(得分:0)
检查datetime.timedelta
减去一个datetime
即可得到:
from dateparser import parse
from datetime import datetime
datime = response.css("a.datePermalink abbr::text").get()
datime = datime.replace('at', '')
datime = parse(datime)
if (datetime.now() - datime).total_seconds() // 3600 < 24:
# do what you need
datetime.now()
是当前的datetime
。(datetime.now() - datime)
是timedelta
,具有days
,minutes
和seconds
。(datetime.now() - datime).total_seconds() // 3600
将此时间增量从秒转换为小时。UPD:如@Jon Clements所建议,也有效:
if datetime.now() - timedelta(hours=25) <= datime: