【问题标题】:What would be the Python code to add time to a specific timestamp?将时间添加到特定时间戳的 Python 代码是什么?
【发布时间】:2011-05-20 18:27:55
【问题描述】:

试图找出datetime 模块并需要一些帮助。

我有一个如下所示的字符串:

00:03:12,200 --> 00:03:14,316

(即小时:分钟:秒,毫秒) 并且需要在每个时间戳中添加 10 秒。作为输出:

00:03:22,200 --> 00:03:24,316

执行此操作的 Python 代码是什么?

【问题讨论】:

    标签: python datetimeoffset


    【解决方案1】:

    要解析时间,请使用 strptime

    >>> x = '00:03:12,200 --> 00:03:14,316'
    >>> x1 = x.split('-->')
    >>> x1
    ['00:03:12,200 ', ' 00:03:14,316']
    >>> t1 = datetime.datetime.strptime(x1[0], '%H:%M:%S,%f ')
    >>> t1
    datetime.datetime(1900, 1, 1, 0, 3, 12, 200000)
    

    使用时间增量

    >>> t = datetime.timedelta(seconds=1)
    >>> t
    datetime.timedelta(0, 1)
    >>> 
    >>> t1 + t
    datetime.datetime(1900, 1, 1, 0, 3, 13, 200000)
    >>> k = t1 + t
    

    重新转换为字符串

    >>> k.strftime('%H:%M:%S,%f ')
    '00:03:13,200000 '
    

    【讨论】:

    • 问题是如何将“00:03:12,200”字符串转换为时间对象。我收到 t = datetime.strptime("00:02:59,840", "%HH:%MM:%SS,mmm") 的错误。说:ValueError:时间数据'00:02:59,840'与格式'%HH:%MM:%SS,mmm'不匹配
    • t = datetime.strptime("00:02:59", "%HH:%MM:%SS%mmm") 或 "%HH:%MM:%SS%,mmm" 或"%HH:%MM:%SS,%mmm" - 都给出错误。秒后我有一个逗号,不知道如何在格式字符串中表示。
    • 对我来说,当我这样做时:t = datetime.strptime("00:02:59,840", "%HH:%MM:%SS,%f") 它显示一个错误:ValueError: time数据“00:02:59,840”与格式“%HH:%MM:%SS,%f”不匹配
    • 好的,我不应该使用双引号。它适用于单引号!
    【解决方案2】:

    要增加 10 秒,你可以这样:

    datetime.datetime.now() + datetime.timedelta(seconds=10)
    

    要解析以上内容,可以使用strptime

    datetime.strptime("21/11/06 16:30", "%d/%m/%y %H:%M")
    

    查看这里了解更多详情:

    【讨论】:

    • 我有特定的时间戳格式。如何让python将'00:03:12,200'之类的字符串理解为时间?
    • 通过向strptime 提供描述格式的格式字符串。阅读提供的文档。
    • 是的,正如 Karl 所提到的,转到上面的链接,滚动到最后 - 你有你需要的所有说明符。
    • 卡尔,我读过。仍然无法弄清楚如何在小时、分钟和秒之间用“:”和秒后的“,”来描述该字符串。
    • 好的,试试:%H:%M:%S,%f。阅读此 SOq:stackoverflow.com/questions/698223/…
    猜你喜欢
    • 1970-01-01
    • 2023-03-31
    • 2015-03-09
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-23
    • 1970-01-01
    相关资源
    最近更新 更多