python - 及时格式化为小数点后 3 位数字

标签 python date datetime

我有很少的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/

相关文章:

python - 将用户名存储在Google App Engine上,而不是每次都调用get_current_user?

python - 如果列表中的元素在另一个列表中,则删除该列表的元素

swift - 在 Swift 中格式化俄语日期

bash - 将数字字符串格式化为日期

c# - 将 UTC 转换为本地时间返回奇怪的结果

python - Arrow 中的时间戳之间的差异

python - scipy.sparse 中缺少 save_npz 方法

python - 从 html 模板生成 PDF 并在 Django 中通过电子邮件发送

java - 从字符串中提取日期

javascript - 处理纳秒时间戳字符串