我需要本地化我的时间戳以获得埃及当地时间。自2011年以来,埃及已停止使用DST。但是,埃及将从2023年4月28日开始重新应用DST。
问题是pandas中的“非洲/开罗”时区没有得到重新应用。它使用DST直到2010年,但在2023年没有恢复。在pandas中本地化时间戳时,除了为每个时间戳手动指定时间偏移外,是否有方法显式指定DST转换日期?我尝试了pytz,但遇到了同样的问题。
>>> pd.Timestamp('20100501').tz_localize('Africa/Cairo')
Timestamp('2010-05-01 00:00:00+0300', tz='Africa/Cairo')
>>> pd.Timestamp('20230501').tz_localize('Africa/Cairo')
Timestamp('2023-05-01 00:00:00+0200', tz='Africa/Cairo') # Should be +3 too
2条答案
按热度按时间57hvy0tb1#
感谢上面的评论。
解决方案是升级Pytz
现在
即使没有升级pandas或导入pytz。
vx6bjr1n2#
在
pandas
版本2.0.0中,它似乎工作得很好。你用的是哪一个Pandas版本?