【问题标题】:How to get the difference between two dates in hours, minutes and seconds.? [duplicate]如何以小时,分钟和秒为单位获得两个日期之间的差异。? [复制]
【发布时间】:2014-06-14 07:27:34
【问题描述】:

我已经约会了两次

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

我已经这样做了,我得到了几分钟和几秒钟。我也想要几个小时;我该怎么做?

我的代码:

diff = data2-data1
divmod(diff.days * 86400 + diff.seconds, 60)
(3, 45)

我怎样才能获得小时数?任何帮助将不胜感激。

【问题讨论】:

  • 你试过什么? c 是什么?这两个日期是什么时候(如果都是now,你预计会有多大的不同?!)你读过docs on timedelta吗?
  • @jonrsharpe,抱歉我的拼写错误我已经纠正了
  • @tripleee,这是我的要求与datetime.datetime.now区别的另一种方式

标签: python date


【解决方案1】:

终于找到解决办法

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

【讨论】:

  • total_mins = (diff.days*1440 + diff.seconds/60) 以分钟为单位获取差异
  • 定义了一个total_seconds(),所以你可以使用hours = diff.total_seconds() / 3600
  • ` total_seconds() ` 如果时差超过几天,则会溢出。 @Avishek 解决方案更好,因为它不会在一个月内溢出。
猜你喜欢
  • 1970-01-01
  • 2013-05-14
  • 1970-01-01
  • 1970-01-01
  • 2021-05-14
  • 1970-01-01
  • 2012-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多