【问题标题】:Python add second to time object [duplicate]Python添加秒到时间对象[重复]
【发布时间】:2021-04-06 08:19:04
【问题描述】:

我需要使用 python datetime 将秒添加到字符串时间,我有以下代码,但出现错误

from datetime import datetime,timedelta

time = "13-15-12"
duration = 15
time_object = datetime.strptime(time, '%H-%M-%S').time()
time_object_end = time_object + timedelta(seconds=duration)

但是出错了

time_object_end = time_object + timedelta(seconds=duration)
TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'

【问题讨论】:

    标签: python python-3.x datetime timedelta


    【解决方案1】:

    您只能将 timedeltas 添加到日期时间。一个纯粹的time 不能代表时钟显示不能代表的任何东西,所以如果你的时间是例如23:55 再加上 15 分钟,您将丢失当天发生变化的信息。

    改为使用日期时间,只在最后获取时间:

    >>> from datetime import datetime,timedelta
    >>>
    >>> time = "13-15-12"
    >>> duration = 15
    >>> time_object = datetime.strptime(time, '%H-%M-%S')
    >>> time_object_end = time_object + timedelta(seconds=duration)
    >>> time_object_end.time()
    datetime.time(13, 15, 27)
    >>>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-18
      • 2020-10-29
      • 2019-06-19
      • 2016-08-10
      • 1970-01-01
      相关资源
      最近更新 更多