以下代码返回当前时间到秒的字符串:
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/