【问题标题】:convert a time string to time [duplicate]将时间字符串转换为时间[重复]
【发布时间】:2021-05-12 10:54:10
【问题描述】:

我有两个时间字符串作为开始和结束,例如:

start = "9:30:00"
end = "11:14:00"

我想从结束减去开始得到持续时间。

我试过了

new_start = datetime.strptime(start, '%H:%M:%S').strftime("%H:%M:%S")
new_end = datetime.strptime(end, '%H:%M:%S').strftime("%H:%M:%S")

我还是得到了

-: 'str' 和 'str' 不支持的操作数类型

【问题讨论】:

标签: python datetime time format


【解决方案1】:

要将时间字符串转换为时间,请使用strptime

...就是这样。

在使用它们进行计算之前,不要再次使用 strftime 将时间转换为字符串。

【讨论】:

  • 谢谢-使用 new_start = datetime.strptime(start, '%H:%M:%S') new_end = datetime.strptime(end, '%H:%M:% S') 这产生了这个我预计会看到 39 分钟 1900-01-01 09:30:00 1900-01-01 10:09:00 -1 天,23:21:00
  • 看起来你减去的顺序不对?!
  • 是的,我想我明白了,谢谢
【解决方案2】:

请用下面的方式减去两个时间字符串

     from datetime import datetime

     t1 = '10:33:26'
     t2 = '11:15:49'
     FMT = '%H:%M:%S'  # time format
     
     subtractedTime = datetime.strptime(t2, FMT) - datetime.strptime(t1, FMT)

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-03-03
  • 1970-01-01
  • 1970-01-01
  • 2019-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-07
相关资源
最近更新 更多