代码之家  ›  专栏  ›  技术社区  ›  Caner

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

  •  0
  • Caner  · 技术社区  · 7 年前

    有没有一种快速的方法可以将一个ISO日期时间字符串中的微秒部分截断到6位?

    例如,如果输入是:

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

    我希望输出为:

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

    我使用string.index()完成了这项工作,但得到的代码非常难看。

    2 回复  |  直到 7 年前
        1
  •  2
  •   Prayson W. Daniel    7 年前

    这就行了

    from dateutil import parser
    
    k = parser.parse('2019-01-09T15:26:23.623349123+01:00').isoformat()
    print(k)
    
        2
  •  2
  •   Serge Ballesta    7 年前

    您可以通过简单的字符串操作来完成。

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

    在python中,if给出:

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