【发布时间】:2021-08-19 13:34:32
【问题描述】:
希望在计算时间后打印时间少于 5 分钟:
now = datetime(2020,11,9,13,38,18)
t0 = datetime.strptime((now - timedelta(minutes =(now.minute - (now.minute - (now.minute % 5))), seconds = now.second)).strftime("%Y-%m-%d %H:%M:%S"),"%Y-%m-%d %H:%M:%S") #getting the time in multiples of 5 i.e 13:35:00
t1 = (t0 - timedelta(minutes = (t0.minute - 5))) #reducing 5 mins i.e 13:30:00
print(t0)
print(t1)
t0 给出了预期的结果,但 t1 打印了 13:05:00,但它应该是 13:30:00
【问题讨论】:
-
你能不能再分解一下,这样我们就不需要绞尽脑汁来了解这里发生了什么以及你想要实现什么......?
-
minutes =(now.minute - (now.minute - (now.minute % 5)))in t0 也可以编码为minutes =now.minute % 5,这就是您与 t0 和 t1 的数学混淆的地方
标签: python python-3.x datetime python-datetime timedelta