从python午夜开始获取秒数

时间:2013-04-12 12:22:44

标签: python date datetime

我希望获得自上午午夜以来过期的秒数。 python中最优雅的方式是什么?

4 个答案:

答案 0 :(得分:35)

最好只对一个返回当前日期/时间的函数进行一次调用:

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?

答案 1 :(得分:13)

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

选择哪一个是品味问题。

答案 2 :(得分:2)

我会这样做

import datetime
import time

today = datetime.date.today()
seconds_since_midnight = time.time() - time.mktime(today.timetuple())

答案 3 :(得分:-3)

替代方案:

from datetime import datetime
seconds = (datetime.now() - datetime.today()).seconds