由于该字符串采用ISO格式,因此可以直接将其与
datetime您提到的ISO格式版本进行有意义的比较:
>>> s='2005-08-11T16:34:33Z'>>> t=datetime.datetime(2009,04,01)>>> t.isoformat()'2009-04-01T00:00:00'>>> s < tTraceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: can't compare datetime.datetime to str>>> s < t.isoformat()True>>> z='2009-10-01T18:20:12'>>> z < t.isoformat()False
如您所见,虽然您无法将字符串与日期时间对象进行比较,但只要字符串采用ISO格式,就可以将其与
.isoformat()日期时间对象的进行比较。这就是日期和时间的ISO格式字符串表示形式的优点:它具有可比性,并且可以按
字符串 正确排序,而不必转换为其他类型。
如果您热衷于转换,当然可以:
>>> datetime.datetime.strptime(s, '%Y-%m-%dT%H:%M:%SZ')datetime.datetime(2005, 8, 11, 16, 34, 33)



