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

2admgd59  于 2023-04-10  发布在  其他
关注(0)|答案(1)|浏览(155)

我有这样的timestamp格式:2023-04-05T10:49:36.292458Z
但是时区不正确-它是在GMT +1它应该是在GMT +2(2023-04-05T11:49:36.292458Z),所以它比正确的时间晚了一个小时。
如何将其转换为正确的时区,最好是不安装任何新软件包?
我试过使用timestamp.tz_locale(),但这在字符串的末尾添加了一个+1:00-是否可以直接更改字符串?

nbnkbykc

nbnkbykc1#

如果知道所需的偏移量,可以用途:

# 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

相关问题