2016-08-22 11 views
2

私はこれについていくつかのコードを試していますが、私はそれの周りに私の頭を完全に包んでいるようには見えません。Pythonが日付が24時間以内であるかどうかを確認します

私は設定された日付がset_dateです。これは期待どおりのランダムな日付で、そのデータは単なるデータです。 datetime.now()set_dateの24時間以内にエラーが発生するようなエラー機能を追加したいと思います。私はtimedelta(hours=24)

from datetime import datetime, timedelta 

now = datetime.now() 
if now < (set_date - timedelta(hours=24)): 
    raise ValidationError('') 

でコードをしようとしている

私が行うには良い方法が何であるか、これを行うには正しいいただきましたわかりません。現在の時刻が設定された日付の24時間前までにどのくらい正確にチェックされますか?

答えて

4

そんなこと?

if now-timedelta(hours=24) <= set_date <= now: 
    ... #date less than 24 hours in the past 

あなたはどちらの側に24時間以内になるように、日付をチェックしたい場合:

行います
if now-timedelta(hours=24) <= set_date <= now+timedelta(hours=24): 
    ... #date within 24 hours 
+0

これは私がええ、探しているものですkのために将来的に。 'datetime.now()'が 'set_date'の24時間以内にあるかどうかを確認します(これが実際に将来起こっていると仮定します)。@ L3viathan – dnsko

+0

今すぐ右側にtimedeltaを追加してください。 – L3viathan

0

と同等です
if now - timedelta(hours=24) <= set_date <= now + timedelta(hours=24): 
    #Do something 

if now - timedelta(hours=24) <= set_date <= now or now <= set_date <= now + timedelta(hours=24): 
    #       ---^--- in the past 24h ---^--- in the future 24h 
    #Do something 
関連する問題