【问题标题】:How do I calculate difference between 2 datetime in python如何计算python中2个日期时间之间的差异
【发布时间】:2020-07-25 10:22:47
【问题描述】:

我想以秒为单位计算两个时间戳之间的差异,例如:

t1 = "12:59:54"
t2 = "01:00:14"

所以差异应该是 20 秒。 (请注意,在我的情况下,日期是字符串。) 我怎么知道是t1 > t2 还是相反?

到目前为止我所尝试的:

t1 = datetime.strptime(t1, "%H:%M:%S")
t2 = datetime.strptime(t2, "%H:%M:%S")

if t1 > t2:
    difference = t1 - t2
else:
    difference = t2 - t1
print(difference.total_seconds())

这会打印 43180,但应该是 20,对吧?

【问题讨论】:

  • 这能回答你的问题吗? stackoverflow.com/questions/1345827/…
  • 相差近12小时。也许你的意思是13:00:14
  • @usr2564301 是的,因为它是 PM,所以它不会考虑 13 = 01?
  • @usr2564301 或者我需要设置其他参数吗?

标签: python python-3.x python-3.6


【解决方案1】:

你有两次:

t1 = "12:59:54"
t2 = "01:00:14"

你说这些间隔 20 秒,但这是不正确的。第一次是在中午之后一个小时左右,第二个是在午夜之后一个小时左右。

你可能想要:

t2 = "13:00:14"

换句话说,24 小时制。或者,如果您的时间差超过 12 小时,您可以自己做一些数学运算,也许您想减去 12 小时并假设输入应该是这个意思。

另一种选择是在字符串中添加明确的“AM”和“PM”后缀,如果在格式字符串中给出%pstrptime() 可以解析它们。

【讨论】:

    【解决方案2】:

    您需要使用 t2 = "13:00:14"` 而不是 01:00:14

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-25
      • 2011-08-01
      • 1970-01-01
      相关资源
      最近更新 更多