【发布时间】:2013-07-08 20:44:33
【问题描述】:
我从文本文件中读取时间戳。这些时间戳采用 UTC-4 格式。我需要将它们转换为美国/东部。
import datetime
datetime_utc4 = datetime.datetime.strptime("12/31/2012 16:15", "%m/%d/%Y %H:%M")
如何将其转换为美国/东部?最好是单行答案。
注意:我最初的问题将 EST 描述为 EDT。但这并没有改变问题的本质,即如何从一个时区到另一个时区。经过一些阅读(遵循 cmets),我认为 python(特别是 pytz)不会将 EST 和 EDT 视为单独的时区,而是将其视为美国/东部的两种风格。但这是一个实现细节。通常将 EST 和 EDT 称为两个不同的时区,例如here.
【问题讨论】:
-
tzinfo 类用于此,据我所知。
-
您的时间戳在冬季,因此无法从标准时间转换为夏令时..
-
@MartijnPieters:EST 和 EDT 是两个不同的时区。美国东部标准时间=UTC-5,美国东部时间=UTC-4。无论一年中的什么时候,您都可以从一个到另一个。
-
@user443854 - 您将时区与偏移量混淆了。请参阅time zone tag wiki 中的“时区!= 偏移量”。冬天没有人在 EDT。不过,它们可能位于其他区域的 UTC-4 中。