質問
たいと思いる場合、特定のpython datetimeオブジェクトは以上のX時間は分です。いいようなもの:
if (datetime.now() - self.timestamp) > 100
# Where 100 is either seconds or minutes
を含むに関連して発生するタイプエラーになります。
何が正しい日時を比較python?って見た WorkingWithTime あなどってきた。思いのdatetimeオブジェクトで表される秒数ができるような通常のintと比較しました。
てくださいリストのdatetimeベストプラクティスに関する
解決
をご利用 datetime.timedelta
クラス:
>>> from datetime import datetime, timedelta
>>> then = datetime.now() - timedelta(hours = 2)
>>> now = datetime.now()
>>> (now - then) > timedelta(days = 1)
False
>>> (now - then) > timedelta(hours = 1)
True
えおうとして書き込まれます:
if (datetime.now() - self.timestamp) > timedelta(seconds = 100)
または
if (datetime.now() - self.timestamp) > timedelta(minutes = 100)
他のヒント
を比較し、違いをtimedeltaを作成してください:
if datetime.datetime.now() - timestamp > datetime.timedelta(seconds = 5):
print 'older'
代替:
if (datetime.now() - self.timestamp).total_seconds() > 100:
と仮定します。タイムスタンプはdatetimeインスタンス
利用できる組み合わせ、'日'と'秒'属性が返されるオブジェクトの答えは、このように:
def seconds_difference(stamp1, stamp2):
delta = stamp1 - stamp2
return 24*60*60*delta.days + delta.seconds + delta.microseconds/1000000.
利用abs()を答えればいいのは正の数秒です。
発見える、タイムスタンプが使用できるようになります:
if seconds_difference(datetime.datetime.now(), timestamp) < 100:
pass
でき差し引二 datetime オブジェクトの差です。
利用できる datetime.fromtimestamp
構文解析しPOSIX時にスタンプを記録します。
このように:
# self.timestamp should be a datetime object
if (datetime.now() - self.timestamp).seconds > 100:
print "object is over 100 seconds old"
所属していません StackOverflow