私は次のコードを手に入れました
timestamp = datetime.utcfromtimestamp(float(timestamp))
now = datetime.utcnow()
if now < timestamp:
return False
時々、それは戻りますFalse
。しかし、たまにしかありません。
print
ちょうど状態チェックで私にこれを与えます:
now 2013-02-28 18:02:57.015817
timestamp 2013-02-28 18:02:57.020000
したがって、タイムスタンプは数ミリ秒の間「バック・トゥ・ザ・フューチャー」を再生しているようです。
タイムスタンプは(datetime.utcnow() - datetime(1970, 1, 1)).total_seconds()
、前の呼び出しのから生成されます。
この結果は、最近のUbuntuのDjangoプロジェクトでpy.testによって実行された単体テストで取得されました。
私の現在の解決策は、すべてをタイムスタンプにし、ミリ秒を調整して比較することです。私がそうしても大丈夫です。なぜこれが起こるのか理解したいだけですか?