58

昨夜の真夜中から有効期限が切れた秒数を取得したい。Pythonで最もエレガントな方法は何ですか?

4

3 に答える 3

57

現在の日付/時刻を返す関数を 1 回呼び出すことをお勧めします。

from datetime import datetime

now = datetime.now()
seconds_since_midnight = (now - now.replace(hour=0, minute=0, second=0, microsecond=0)).total_seconds()

または

datetime.now() - datetime.now()

ここにいる誰かの timedelta をゼロにしますか?

于 2013-04-12T12:31:41.847 に答える
24
import datetime
now = datetime.datetime.now()
midnight = now.replace(hour=0, minute=0, second=0, microsecond=0)
seconds = (now - midnight).seconds

また

import datetime
now = datetime.datetime.now()
midnight = datetime.datetime.combine(now.date(), datetime.time())
seconds = (now - midnight).seconds

どちらを選ぶかは好みの問題です。

于 2013-04-12T12:30:55.263 に答える
4

私はこのようにします:

import datetime
import time

today = datetime.date.today()
seconds_since_midnight = time.time() - time.mktime(today.timetuple())
于 2013-04-12T12:22:43.720 に答える