2016-05-23 10 views
1

私は過去6ヶ月以内のすべての日付をPythonとSQLAlchemyで検索しています。コードは次のとおりです。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

私は 'weeks = 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の経験はほとんどありません。インストールにpipまたはhomebrewを使用できますか? – Arefe

+1

'pip install python-dateutil'しかし、あなたは本当にvirtualenvを使うべきです。あなたはさらに、特に答えがあなたのために働いていれば、私にアップフォートを与えるべきです。 – hd1

+0

これはうまくいきました。 virtualenvは何ですか?私は端末を開いてpipを使ってインストールします。 – Arefe

関連する問題