2013-11-08 2 views
2

В Python, если я хотел бы сделать проверку для всех элементов со вчерашнего дня я бы сделать что-то вроде:Python Datetime: все товары от Вчера

from datetime import datetime, timedelta 

if datetime.datetime.today() - timedelta(days=2) < item_to_check < datetime.datetime.today(): 

бы это вытащить все элементы со вчерашнего дня и это самый лучший способ сделать это?

ответ

4

Я хотел бы попробовать что-то проще ;-)

from datetime import date, timedelta 

yesterday = date.today() - timedelta(days=1) 
if item_to_check.date() == yesterday: 
    # yup! 

Обратите внимание, что:

item_to_check < datetime.datetime.today() 

верно для любого элемента, который произошел перед вторым вы назвали datetime.datetime.today(). Мой date.today() не включает часы, минуты или секунды (т. Е. Он не имеет компонента «время»).

+2

Yup, и если у вас есть много предметов, вы можете сделать это в списке, используя понимание списка. вчера_items = [item для элемента в элементах, если item.date() == вчера] – Owen

+0

lol. Думаю, мы печатали одно и то же. вы избили меня до 10 секунд. :) –

+0

@MattJohnson, здесь повторяются ответы на дубликаты. Включите гораздо больше объяснений, чем мое, и ваш, вероятно, будет принят ;-) –

Смежные вопросы