我想做的是执行时间增量运算,但是将时间舍入到分秒(我不确定这个词是否存在,但是下面的例子应该是不言自明的),而不是微秒。你知道吗
from datetime import datetime
import time
tick = datetime.now()
time.sleep(1.5)
tock = datetime.now()
time.sleep(2.1)
tock2 = datetime.now()
diff1 = tock-tick
diff2 = tock2-tick
diff1 #0:00:01.500914
diff2 #0:00:03.601836
我希望diff1输出分别是0:00:01.50
,diff20:00:03.60
。但是我不想格式化结果,我想用滴答声来格式化我记录的时间值,基本上是为了把它们四舍五入(实际上只是删掉点后面两位数后面的所有内容)。原因是,在我的程序中的某个时候,我想比较两个差异(作为取整的时间增量),只有这样我才想把结果转换成字符串并格式化它。你知道吗
我试过这样做
tick = datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-4]
time.sleep(1.5)
tock = datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-4]
diff1 = tock-tick
#TypeError: unsupported operand type(s) for -: 'str' and 'str'
但不起作用,因为它已经将时间转换为字符串。。。你知道吗
您可以简单地从timedelta中提取^{} ,并对其进行四舍五入,构建一个新的timedelta:
相关问题 更多 >
编程相关推荐