2016-05-23 14 views
1

我在做查詢使用Python和SQLAlchemy查找過去6個月內的所有日期。代碼如下,如何使用Python在過去6個月內找到所有日期?

current_time = datetime.datetime.utcnow() 
six_months_ago = current_time - datetime.timedelta(weeks = 24) 
puppies = session.query(Puppy).filter(Puppy.dateOfBirth > six_months_ago).all() 

for puppy in puppies: 
    puppy.name, puppy.dateOfBirth 

現在,我如何直接在代碼中使用月份比使用周?我看到了一個優雅的解決方案,但它使用了一個外部庫。我想做這個沒有安裝另一個庫。

+1

請澄清一下你的問題,'我如何直接在代碼中使用月份,而不是使用星期.. ..你想獲得月份數字嗎?月份名稱?您發佈的代碼沒有說清楚。 – hd1

+0

我正在使用「周= 24」,那是6個月。我能否以某種方式直接在代碼中使用月份? 6個月= 4 * 6周= 24周 – Arefe

+0

請參閱我的回答 – hd1

回答

2

你需要使用python-dateutil

from datetime import date 
from dateutil.relativedelta import relativedelta 

six_months = date.today() - relativedelta(months=+6) 

似乎沒有成爲一個方式與外的現成的工具來做到這一點。

+0

你好, 如何安裝這個python-dateutil包?我主要是Java開發人員,並且對Python很少有經驗。我可以使用點或自制軟件進行安裝嗎? – Arefe

+1

'pip install python-dateutil'但你真的應該使用virtualenv。你應該進一步給我一個upvote,特別是如果答案適合你。 – hd1

+0

這工作,非常感謝解決方案。什麼是virtualenv?我只需打開終端並使用pip進行安裝。 – Arefe

相關問題