Python日期时间:昨天的所有项目

use*_*029 4 python datetime python-2.7

在Python中,如果我想检查昨天的所有物品,我会执行以下操作:

from datetime import datetime, timedelta

if datetime.datetime.today() - timedelta(days=2) < item_to_check < datetime.datetime.today():
Run Code Online (Sandbox Code Playgroud)

这会将昨天的所有物品拉走吗,这是最好的方法吗?

Tim*_*ers 6

我会尝试一些简单的事情;-)

from datetime import date, timedelta

yesterday = date.today() - timedelta(days=1)
if item_to_check.date() == yesterday:
    # yup!
Run Code Online (Sandbox Code Playgroud)

请注意,您的:

item_to_check < datetime.datetime.today()
Run Code Online (Sandbox Code Playgroud)

对于第二个呼叫之前发生的任何项目,都是如此datetime.datetime.today()。我的date.today()不包括小时,分钟或秒(即,它没有“时间”部分)。

  • 是的,如果您有很多项目,则可以使用列表理解功能在列表中进行。today_items = [如果item.date()==昨天,则为item中项目的项目] (2认同)