python - 使用 pytz 将日期时间从一个时区转换为另一时区

标签 python datetime timezone pytz timestamp-with-timezone

我有一个数据集,其中包含来自纽约的日期/时间戳,没有时区信息。不会记录 EDT 或 EST。

日期包括几年的每日数据,因此它包括:

  1. 东部夏令时时区
  2. 东部时区

我想将这些日期/时间戳转换为法兰克福时间。

这涉及使用:

  1. 欧洲中部时间 (CET) 时区
  2. CEST 时区

取决于具体日期。

我已经看到,对于纽约时间,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

关于python - 使用 pytz 将日期时间从一个时区转换为另一时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54374804/

相关文章:

c# - .net DateTime 格式化隐藏时间如果午夜?

r - 无法处理 POSIXct 时区并截断 POSIXct 对象的时间

Linux:如何设置进程的时区?

c# - 在 Windows 上获取不同语言的本地化日期时间字符串和时区名称

python - 如何提高 SQLAlchemy 的性能?

python - 使用Python模块BeautifulSoup抓取XML,需要树中的特定标签

python - 具有滚动窗口问题的 Statsmodels OLS

mysql - 获取某个时间范围内 2 个日期的特定数据

c# - 在 C# 中将 UTC 日期时间转换为本地日期时间

python - 在同一线程下的 tensorflow 中创建多个图