我有一个数据集,其中包括来自纽约的日期/时间戳,没有时区信息。不记录EDT或EST。
日期包括几年的每日数据,因此它包括:
我想将这些日期/时间戳翻译为法兰克福时间。
这包括使用:
具体取决于具体日期。
我已经看到,在纽约时代,pytz包括timezone('US/Eastern')
,如果我理解正确包括两个时区(New York Timezones)。
对于法兰克福,您似乎需要明确指定CET或CEST(Frankfurt Timezones)。
如何使用pytz进行转换?
您可以使用localize()
在纽约时间转换为法兰克福时间,在纽约时间和astimezone()
创建您的天真日期时间对象,然后将它们转换为法兰克福(柏林)时间。使用时区名称(而不是仅在一年中的某些时间应用的特定时区缩写)将为您处理夏令时差异。
例如:
from datetime import datetime
from pytz import timezone
newyork_tz = timezone('America/New_York')
berlin_tz = timezone('Europe/Berlin')
newyork = newyork_tz.localize(datetime(2018, 5, 1, 8, 0, 0))
berlin = newyork.astimezone(berlin_tz)
print(newyork)
print(berlin)
# OUTPUT
# 2018-05-01 08:00:00-04:00
# 2018-05-01 14:00:00+02:00