Pythonは初めてで、次のようなことをしたい:
now = datetime.now()
if now - myClass.last_updated_date >= 3 min:
myClass.update()
つまり、myClass が過去 3 分間更新されていない場合は、今すぐ更新してください。
last_updated_date も日時値です。
これら 2 つの datetime 値の差を分単位または秒単位で取得するにはどうすればよいですか?
datetime オブジェクトを減算するだけでdatetime.timedelta
、互いに直接比較できる が得られます。
In [1]: import datetime
In [2]: old = datetime.datetime.now()
In [3]: new = datetime.datetime.now()
In [4]: new - old
Out[4]: datetime.timedelta(0, 6, 502461)
In [5]: new - old > datetime.timedelta(minutes=3)
Out[5]: False
In [6]: new - old > datetime.timedelta(seconds=3)
Out[6]: True
これはdatetime
ドキュメンテーションページで非常に明確に説明されています。
delta = now - myClass.last_updated_date
minutes = delta.minutes
seconds = delta.seconds
type(delta) #=> <type 'datetime.timedelta'>
詳細については、http://docs.python.org/2/library/datetime.htmlをご覧ください。