以下代码将当前时间的字符串返回到第二个:

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/

10-15 23:01