python:截断iso 8601字符串中的小数位

时间:2019-01-10 09:37:34

标签: python python-3.x

是否有一种快速的方法来截断微秒部分(在iso日期时间字符串中最多可减少6位数字)?

例如,如果输入为:

date = '2019-01-09T15:26:23.623349123+01:00'

我希望输出为:

date = '2019-01-09T15:26:23.623349+01:00'

我已经使用string.index()完成了此操作,但是生成的代码却很丑陋。

2 个答案:

答案 0 :(得分:2)

可以做到

from dateutil import parser

k = parser.parse('2019-01-09T15:26:23.623349123+01:00').isoformat()
print(k)

答案 1 :(得分:2)

您可以通过简单的字符串操作来做到这一点。

如果长度大于32,则要保留前26个字符和后6个字符。

在Python中,如果给出:

def reformat(dat):
    if len(dat) > 32:
        return dat[:26] + dat[-6:]