如何将ISO 8601日期时间字符串转换为Python日期时间对象?

发布于 2021-02-02 23:20:01

我正在获取格式为“ 2009-05-28T16:15:00”的日期时间字符串(我相信这是ISO 8601)。一种可能的选择似乎是使用time.strptime元组的前六个元素并将其传递到datetime构造函数中来解析字符串,例如:

datetime.datetime(*time.strptime("2007-03-04T21:08:12", "%Y-%m-%dT%H:%M:%S")[:6])

我还没有找到一种“清洁”的方法。有一个吗?

关注者
0
被浏览
114
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    我更喜欢使用dateutil库进行时区处理和一般的可靠日期解析。如果要获得类似ISO 8601的字符串,例如:2010-05-08T23:41:54.000Z,则使用strptime解析该字符串会很有趣,尤其是如果你不预先知道是否包含时区时,尤其如此。pyiso8601在使用过程中遇到了几个问题(请检查其跟踪器),并且几年没有更新。相比之下,dateutil一直很活跃并为我工作:

    import dateutil.parser
    yourdate = dateutil.parser.parse(datestring)
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看