Python YYYYMMDD hh:mm:ss.fffzz:xx格式的日期时间问题

2024-09-24 22:18:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我遇到了一个非常奇怪的问题。我正在清理一个包含大量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位数字,它就工作了。如果少一点,它就不起作用,这很奇怪,因为它们在语法上是相同的

任何帮助都将不胜感激。提前感谢您抽出时间


Tags: 数据对象示例datetimedate格式错误iso
1条回答
网友
1楼 · 发布于 2024-09-24 22:18:04

我终于解决了。我需要为它使用strptime()函数。有效的代码段是:dt.datetime.strptime(date_str2,'%Y-%m-%dT%H:%M:%S.%f%z')。注意两件事:

  • 时区应该是小写的z,而不是大写的
  • 您需要通过在表示字符串中添加%f来说明小数秒

相关问题 更多 >