【问题标题】:How can i get the time difference between 2 time strings? [duplicate]如何获得 2 个时间字符串之间的时差? [复制]
【发布时间】:2018-05-15 06:29:43
【问题描述】:
t1 = '11:19:04' 
t2 = '11:19:07'

采用这种格式:H:M:S

我怎样才能得到两个字符串之间的时间差?

【问题讨论】:

    标签: python time


    【解决方案1】:

    您需要导入包含将字符串时间转换为日期时间对象的方法的日期时间模块,一旦您将时间转换为日期时间对象,您可以使用它简单地减去它们,

    import datetime
    t1 = '11:19:04' 
    t2 = '11:19:07'
    
    t1_time=datetime.datetime.strptime(t1,"%H:%M:%S")
    t2_time=datetime.datetime.strptime(t2,"%H:%M:%S")
    print t2_time-t1_time
    0:00:03
    

    【讨论】:

    • 有效答案,没有给出解释。
    • @Coal_ 现在看起来还好吗?
    • 谢谢,减法部分正确,但不知道应该转换为 DateTime 对象。
    • @Carla 你可以使用上面的代码
    • 我有,它工作正常,2分钟内接受
    【解决方案2】:

    没有日期时间模块的替代方案:

    t1 = '11:19:04' 
    t2 = '11:19:07'
    
    def t2s(t):
        return sum(a*b for a, b in zip((int(x) for x in t.split(':')), (3600, 60, 1)))
    
    print(t2s(t1) - t2s(t2))
    

    它以秒数的形式返回差异。

    【讨论】:

      【解决方案3】:
      • 导入日期时间模块:
      • 将剥离时间值传递给字符串
      • 将 't2' 减去 't1'
      • 演示:

        import datetime
        
        t1 = '11:19:04' 'From'
        t2 = '11:19:07' 'Till'
        
        t1_time = datetime.datetime.strptime(t1, "%H:%M:%S")
        t2_time = datetime.datetime.strptime(t2, "%H:%M:%S")
        
        print t2_time - t1_time
        

      【讨论】:

        猜你喜欢
        • 2014-11-09
        • 2012-08-02
        • 1970-01-01
        • 2019-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多