我有这样的时间戳格式: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