我有很少的Python代码来处理日期和时间,我需要提出问题来修改脚本。下面提供了脚本,
from datetime import date, datetime, timedelta
import random
def perdelta(start, end, delta):
curr = start
while curr < end:
yield curr
curr += delta
s = datetime.now() - timedelta(days=10)
e = datetime.now() - timedelta(days=8)
# start = 2017-10-01 06:44:00.480208
# end = 2017-10-03 06:44:00.480583
# print "\n"
# print "start = ", s
# print "end = ", e
# print "\n"
dates = []
for result in perdelta(s, e, timedelta(seconds=15)):
print result
当我打印结果时,我得到的值类似于
2017-10-03 06:49:50.009049
2017-10-03 06:50:05.009049
如何保留小数点后 3 位数字,例如 2017-10-03 06:49:50.349
?
最佳答案
如果您只是对字符串仅保留微秒级的前 3 位数字感兴趣,则可以使用字符串拼接。
for result in perdelta(s, e, timedelta(seconds=15)):
print (str(result)[:-3])
ShadowRanger 在评论中提到的更好的方法,它使用 .isoformat(...)
直接格式化为 ISO 8601,并带有额外的毫秒时间规范。但不幸的是,timespec
参数最近才在 Python 3.6 中添加。
关于python - 及时格式化为小数点后 3 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46678160/