【问题标题】:Addition of two datetime.datetime.strptime().time() objects in python在 python 中添加两个 datetime.datetime.strptime().time() 对象
【发布时间】:2017-04-18 18:22:31
【问题描述】:

我想以“HH:MM:SS”格式添加两个时间值 t1 和 t2。

t1 ='12:00:00'
t2='02:00:00'

t1+t2 应该是14:00:00

我试过t1+t2。但由于t1t2 是即时字符串格式,因此输出是串联12:00:00 02:00:00

所以我尝试在 datetime.datetime.strptime().time() 对象中转换

t1 = datetime.datetime.strptime('12:00:00', '%H:%M:%S').time()
t2 = datetime.datetime.strptime('02:00:00', '%H:%M:%S').time()

但报错

TypeError:+ 不支持的操作数类型:“datetime.time”和“datetime.time”

我怎样才能让它工作?

【问题讨论】:

标签: python datetime timedelta


【解决方案1】:

您不能直接添加两个time() 变量。这是因为这些时间变量不是持续时间。他们是一天中的时间。但是,您可以通过从时间变量中减去午夜将时间变量转换为持续时间。

测试代码:

import datetime as dt
t1 = dt.datetime.strptime('12:00:00', '%H:%M:%S')
t2 = dt.datetime.strptime('02:00:00', '%H:%M:%S')
time_zero = dt.datetime.strptime('00:00:00', '%H:%M:%S')
print((t1 - time_zero + t2).time())

结果:

14:00:00

【讨论】:

  • 谢谢你。这很好。@Stephen Rauch
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-19
  • 2019-01-16
  • 2017-02-06
  • 1970-01-01
  • 2020-02-26
相关资源
最近更新 更多