Python 解决Cannot compare tz-naive and tz-aware timestamps

现象
在这里插入图片描述
我就是从普米的alertmanager返回的信息中提取时间点endsAt字符串,然后转换为时间戳,跟现在 的时刻,也就是dateime.datetime.now()对比,结果就报这个错了。

{'status': 'resolved', 'labels': {'alertname': '端口', 'instance': 'xxx', 'startsAt': '2024-01-03T08:16:13.23883011Z', 'endsAt': '2024-01-03T16:17:13.247193644+08:00'}

问题代码

nowtime=datetime.datetime.now()
end_time=pd.to_datetime(end_time)
if(end_time<pd.to_datetime(nowtime):
  pass

解决方式

nowtime=datetime.datetime.now()
end_time=pd.Timestamp(end_time,tz='Asia/Shanghai')
if(end_time<pd.Timestamp(nowtime,tz='Asia/Shanghai')):
  pass

你可能感兴趣的:(python,开发语言)