Python日期时间问题

Poo*_*rna 0 python datetime

我试图计算下面提到的两个不同时间戳之间的差异.我得到的值为25324秒,小于实际差值.这是什么问题?

from datetime import datetime

time_format = "%Y-%m-%d %H:%M:%S"

d1 = datetime.strptime('2013-12-12 03:59:33', time_format)
d2 = datetime.strptime('2013-12-09 20:57:29', time_format)
print (d1 - d2).seconds

25324
Run Code Online (Sandbox Code Playgroud)

Rem*_*ich 5

timedelta对象包含以天,秒和微秒为单位的时间.您必须将它们添加到一起才能获得完整数字.

from datetime import datetime

time_format = "%Y-%m-%d %H:%M:%S"

d1 = datetime.strptime('2013-12-12 03:59:33', time_format)
d2 = datetime.strptime('2013-12-09 20:57:29', time_format)

diff  = d1 - d2
print diff  # 2 days, 7:02:04
print diff.days * 24 * 60 * 60 + diff.seconds  # 198124
Run Code Online (Sandbox Code Playgroud)

该方法total_seconds()自动完成.

关键是你不能在一个浮点数中同时存储一个在999999999天到1微秒范围内可能需要准确度的数字,所以它被分成三个整数.