12

如何在 Python 中找到“自 UTC 时区开始以来的秒数”?我查看了文档,但不明白如何使用datetime.timedelta.

4

3 回答 3

10

这是一种方法。

from datetime import datetime, time

utcnow = datetime.utcnow()
midnight_utc = datetime.combine(utcnow.date(), time(0))
delta = utcnow - midnight_utc
print delta.seconds # <-- careful

编辑如建议的那样,如果您想要微秒级精度,或者可能跨越 24 小时周期(即 delta.days > 0),请使用total_seconds()或@unutbu 给出的公式。

print delta.total_seconds()  # 2.7
print delta.days * 24 * 60 * 60 + delta.seconds + delta.microseconds / 1e6 # < 2.7
于 2011-11-09T22:41:57.707 回答
7

datetime.timedeltaa , ,中的秒数xtimedelta.total_seconds给出:

x.total_seconds()

Python2.7引入了这个功能。对于旧版本的 python,你只需要自己计算它:total_seconds = x.days*24*60*60 + x.seconds + x.microseconds/1e6.

于 2011-11-09T22:40:57.017 回答
0
import time
t = time.gmtime()
seconds_since_utc_midnight = t.tm_sec + (t.tm_min * 60) + (t.tm_hour * 3600)

对于本地时间,我们可以使用time.localtime()而不是time.gmtime()

于 2015-10-11T18:43:19.237 回答