以下代码将当前时间的字符串返回到第二个:
return("{:%Y%m%dT%H%M%S%}".format(datetime.datetime.utcnow()))
如何将当前时间的字符串返回秒的百分之一(0.01)?
我尝试了以下操作,但找不到找到只显示小数秒的2个小数位的方法。
return("{:%Y%m%dT%H%M%S%f}".format(datetime.datetime.utcnow()))
最佳答案
你快到了。只需在当前尝试删除数字的末尾添加[:-4]
,以使微秒不再可见,只有百分之一秒。正如jonrsharpe的评论中所述,我宁愿这样重新格式化:
return datetime.datetime.utcnow().strftime("%Y%m%dT%H%M%S%f")[:-4]
所有这些操作就是对(see formatting here)从
strftime
的全部返回值进行切片(以获得所需的精度)。如果要说毫秒,您可以将[:-4]
替换为[:-3]
。编辑:它是在您可能想要正确舍入第100位的注释中提出的。如果是这样的话,我敢肯定有一种更简单的方法可以做到这一点,但是您可以实现这样的事情。如注释中所述,这将在您的
DateTime
末尾为995xxx的极值生成一个不正确的值,但是,如果您确实担心极值,则应该使用Jarek解决方案之类的替代方法。now = datetime.datetime.utcnow().strftime("%Y%m%dT%H%M%S%f")
return str( now[:-9] + str(round(int(now[-9:-3]), -1))[:-1])
关于python - 如何显示0.01秒的时间?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28633986/