-2

Pythonは初めてで、次のようなことをしたい:

now = datetime.now()

if now - myClass.last_updated_date >= 3 min:
    myClass.update()

つまり、myClass が過去 3 分間更新されていない場合は、今すぐ更新してください。

last_updated_date も日時値です。

これら 2 つの datetime 値の差を分単位または秒単位で取得するにはどうすればよいですか?

4

2 に答える 2

1

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ドキュメンテーションページで非常に明確に説明されています。

于 2013-01-30T20:48:33.477 に答える
0
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をご覧ください。

于 2013-01-30T20:49:26.977 に答える