ValueError:时间数据“20200423T13:03:49.911533+00:00”与格式“%Y%m%dT%H:%m:%S.%f%z”不匹配

2024-09-20 22:54:07 发布

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

我正在尝试修复我构建的一些脚本中不断出现的错误。我所做的基本上是从Postgres数据库中检索一些数据,该数据库包含一个timestamptz字段

当我处理这些数据时,有时会出现以下错误:

ValueError: time data '2020-04-23T13:03:49.911533+00:00' does not match format '%Y-%m-%dT%H:%M:%S.%f%z'

发生这种情况的代码:

last_seen_at_date = datetime.strptime(dict['last_seen_at'],'%Y-%m-%dT%H:%M:%S.%f%z').date()

我不明白这是怎么发生的。 当我复制粘贴此字符串并将其用作变量,然后将其转换为日期时,它可以完美地工作

Edit:意识到这在我的Mac电脑上运行良好,但在运行Ubuntu的服务器上运行不好。不确定如何修复此问题。

知道发生了什么事吗

谢谢,


Tags: 数据脚本数据库datadatetime错误not
2条回答

使用现有答案修复了此问题。 我的服务器上运行的Python版本不同,这是一个问题

Datetime strptime issue with a timezone offset with colons

'2020-04-23T13:03:49.911533+00:00'

这看起来确实像ISO8601格式,所以它应该与datetime.datetime.fromisoformat一起使用。我确实使用Python 3.7.3对其进行了测试,它似乎工作正常:

import datetime
dt_str ='2020-04-23T13:03:49.911533+00:00'
dt = datetime.datetime.fromisoformat(dt_str)
print(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second)

输出:

2020 4 23 13 3 49

你能在你的代码中测试它吗

相关问题 更多 >

    热门问题