【问题标题】:Subtract one strftime string from another从另一个字符串中减去一个 strftime 字符串
【发布时间】:2016-01-28 23:56:12
【问题描述】:

在下面的示例中,我生成了两个时间值作为我希望使用strftime 的格式的字符串。我想从b 中减去a 得到c。我需要做我想做的事,缺少什么代码行?

import time

a = (time.strftime("%H:%M:%S"))

time.sleep(5)

b = (time.strftime("%H:%M:%S"))

c = b - a

print c

谢谢

【问题讨论】:

  • 我们可以输入输出示例吗?看起来您应该使用 datetimetimedelta 对象,而不是 time 对象。最终字符串不能减去,所以一旦你调用了strftime就不能这样做。

标签: python strftime


【解决方案1】:

听起来您正在尝试找出两点之间的时间。您应该为此使用 datetime 对象(通常在 Python 中!)

import datetime
import time

before = datetime.datetime.now()  # don't convert to string!

time.sleep(5)  # do some stuff....

after = datetime.datetime.now()

delta = after - before
# delta is a datetime.timedelta object.

print(delta)
# which by default stringifies to %H:%M:%S.%f

在我的测试用例中(手动将所有内容写入 repr)我得到了

Python 3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:16:59) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import datetime
>>> before = datetime.datetime.now()
>>> after = datetime.datetime.now()
>>> delta = after - before
>>> print(delta)
0:00:05.239524

【讨论】:

  • 您好,感谢您的回复。当您回复时,我基本上自己得到了这个确切的答案,但无论如何谢谢。当 SO 允许我时,我会在几分钟内接受..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-27
  • 2016-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多