我遇到了一个非常奇怪的问题。我正在清理一个包含大量ISO格式的datetime对象的数据集。然而,他们中的很多人都犯了错误。让我用一个例子来澄清这些问题:
示例1:date_str1 = '2019-09-18T07:52:53.167-04:00
。我在上面使用了datetime.datetime.fromisoformat(date_str1)
,这很有效
例2:date_str2 = 2019-09-18T07:52:50.69-04:00
。我对它使用了datetime.datetime.fromisoformat(date_str2)
,但这不起作用
例3:date_str2 = 2019-09-18T07:52:50.690-04:00
。我在上面用了datetime.datetime.fromisoformat(date_str2)
,效果很好
显然,如果秒值在小数点后有3位数字,它就工作了。如果少一点,它就不起作用,这很奇怪,因为它们在语法上是相同的
任何帮助都将不胜感激。提前感谢您抽出时间
我终于解决了。我需要为它使用
strptime()
函数。有效的代码段是:dt.datetime.strptime(date_str2,'%Y-%m-%dT%H:%M:%S.%f%z')
。注意两件事:%f
来说明小数秒李>相关问题 更多 >
编程相关推荐