2011-10-12 12 views
3

関数が実行されるとき、私はそれが現在のシステム時間をチェックし、過去の午後5時に何かをする必要がある。明確化のためPython午後5時以降

current_time = datetime.datetime.now() 
if current_time > {code to represent 17:00 hours}: 
    do stuff 

編集: 受注物流センターでの注文のピッキング/梱包を扱う私のソフトウェアに送信されています。注文が5:00以降にシステムに送信された場合、その注文は翌日まで "選択"されないようにフラグを立てる必要があります。注文が

+0

はるかに簡単には 'cron'またはWindowsスケジュールタスクを使用することです...... 。 –

+0

配送センターでの注文のピッキング/パッキングを担当するソフトウェアに注文が送信されています。注文が5:00以降にシステムに送信された場合、その注文は翌日まで "選択"されないようにフラグを立てる必要があります。したがって、注文は「インポートされた」ため、関数を実行する必要があります – Ominus

+4

これは一般的な質問です。http://docs.python.org/library/datetime.html#datetime-objects – patrys

答えて

8
if datetime.datetime.now().hour >= 17: 
    pass 
+0

私は元々正しいとTokenMacGuysの回答をマークしていましたが、読みやすいので簡単にこの答えに切り替えました。 – Ominus

+0

親愛なるdownvoters、あなたはコメントを残していただけますか?私は間違いから学びたいと思う。 –

4

確かに「輸入」されているように、機能を実行する必要があり、それは簡単です:

>>> import datetime 
>>> datetime.datetime.now().time() 
datetime.time(10, 36, 5, 572343) 
>>> datetime.datetime.now().time() >= datetime.time(17,0,0) 
False 
>>> datetime.datetime.now().time() >= datetime.time(8,0,0) 
True 
+0

うわー、私はこれが落とされているとは思わなかった...私はそれを修正できるように何が間違っているのか分からない。誰かが私が間違っていたかもしれないことを提案できますか? – SingleNegationElimination

+0

あなたとCharStringの答えはまさに私が望むものです。 2つの答えの間に、同じ目標を達成するための「より良い」または他の2つの異なる方法があります。 – Ominus

+0

さて、mineは比較のために 'datetime.time'クラスを使います。クラスを使うのが好きなら、それはプラスです。あなたがクラスを嫌うなら、多分それはマイナスです。彼らはまったく同じことをします。 – SingleNegationElimination

関連する問題