如何在小时,分钟和秒钟之间获得两个日期之间的差异.

Mul*_*ala 12 python date

我有两个约会日期

import datetime
data1 = datetime.datetime.now()
data2 = datetime.datetime.now()
Run Code Online (Sandbox Code Playgroud)

我这样做了,我得到了几分钟和几秒钟.我也想要几个小时; 我怎样才能做到这一点?

我的代码:

diff = data2-data1
divmod(diff.days * 86400 + diff.seconds, 60)
(3, 45)
Run Code Online (Sandbox Code Playgroud)

我怎么能得到好几个小时?任何帮助,将不胜感激.

Mul*_*ala 27

终于找到解决方案

import datetime
data1 = datetime.datetime.now()
data2 = datetime.datetime.now()

diff = data2 - data1

days, seconds = diff.days, diff.seconds
hours = days * 24 + seconds // 3600
minutes = (seconds % 3600) // 60
seconds = seconds % 60

print hours,minutes,seconds
Run Code Online (Sandbox Code Playgroud)

  • 定义了一个“ total_seconds()”,因此您可以使用“ hours = diff.total_seconds()/ 3600” (7认同)
  • 如果时间差超过几天,`total_seconds()`就会溢出。@Avishek 解决方案更好,因为它不会溢出超过一个月。 (4认同)
  • `total_mins = (diff.days*1440 + diff.seconds/60)` 以分钟为单位 (2认同)