12

Pythonで「UTCタイムゾーンの開始からの秒数」を見つけるにはどうすればよいですか? 私はドキュメントを見て、これを使用して取得する方法を理解していませんでしたdatetime.timedelta

4

3 に答える 3

10

これを行う1つの方法を次に示します。

from datetime import datetime, time

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

EDIT提案されているように、マイクロ秒の精度が必要な場合、または 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.timedelta,の秒数はtimedelta.total_secondsxで与えられます:

x.total_seconds()

この関数は Python2.7 で導入されました。古いバージョンの python の場合は、自分で計算するだけです: total_seconds = x.days*24*60*60 + x.seconds + x.microseconds/1e6.

于 2011-11-09T22:40:57.017 に答える