我试图计算下面提到的两个不同时间戳之间的差异.我得到的值为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)
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微秒范围内可能需要准确度的数字,所以它被分成三个整数.
| 归档时间: |
|
| 查看次数: |
47 次 |
| 最近记录: |