【问题标题】:How do I find the difference between two times in python in a format?如何在 python 格式中找到两次之间的差异?
【发布时间】:2015-07-09 10:31:01
【问题描述】:

我想知道如何计算两个时间之间的时间差,例如,它们旁边有 PM 和 AM。我有 12:16:44 pm 和 01:01:45 pm 但是当我使用此代码时:

from datetime import datetime
from datetime import timedelta

s1=12:16:44
s2=01:01:45
FMT = '%H:%M:%S'
tdelta = datetime.strptime(s2), FMT) - datetime.strptime(s1), FMT)
if tdelta.days < 0:
    tdelta = timedelta(days=0,
                       seconds=tdelta.seconds,
                       microseconds=tdelta.microseconds)

但这是我得到的输出 12:16:44 | 01:01:45 | Time Difference: -1 day, 12:45:01 但它们都是 PM 值?谢谢

【问题讨论】:

标签: python linux time difference


【解决方案1】:

在 Python 中,%H 表示 24 小时时间格式。 %I 是 12 小时格式,即使这样你也应该在字符串中指定 PM

尝试一下(并修复语法错误):

s1='12:16:44 PM' 
s2='01:01:45 PM' 
FMT = '%I:%M:%S %p' 

【讨论】:

  • 您的代码实际上是无效的。字符串应该用引号分隔。有关格式字符串的更多信息,请查看docs.python.org/2/library/time.html
  • 那我该怎么做呢?
  • s1='12:16:44 PM' s2='01:01:45 PM' FMT = '%I:%M:%S %p'
  • 这也适用于 am,例如 s1='09:16:44 am'
  • @Dabnas,你为什么不试试看?
猜你喜欢
  • 1970-01-01
  • 2014-01-03
  • 2015-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-07
  • 1970-01-01
相关资源
最近更新 更多