pandas将时间戳转换为本地时区



我有这样的时间戳格式:2023-04-05T10:49:36.292458Z

但是时区不正确——它是GMT +1,它应该是GMT +2 (2023-04-05T11:49:36.292458Z),所以它比正确的时间晚了一个小时。

如何将其转换为正确的时区,最好不安装任何新软件包?

我试过使用timestamp.tz_locale(),但这在字符串的末尾增加了a +1:00 -有可能直接改变字符串吗?

如果你知道你想要的偏移量,你可以使用:

# df = pd.DataFrame({'ts': ['2023-04-05T10:49:36.292458Z']})
df['ts2'] = pd.to_datetime(df['ts']).dt.tz_convert(None) + pd.DateOffset(hours=1)
print(df)
# Output:
ts                        ts2
0  2023-04-05T10:49:36.292458Z 2023-04-05 11:49:36.292458

如果你只想修改字符串,使用:

# df = pd.DataFrame({'ts': ['2023-04-05T10:49:36.292458Z']})
df['ts2'] = pd.to_datetime(df['ts']).add(pd.DateOffset(hours=1)).dt.strftime('%Y-%m-%dT%H:%M:%S.%fZ')
print(df)
# Output
ts                          ts2
0  2023-04-05T10:49:36.292458Z  2023-04-05T11:49:36.292458Z

相关内容

  • 没有找到相关文章

最新更新