繁体   English   中英

如何在python中将UTC-4转换为US / Eastern?

[英]How to convert UTC-4 to US/Eastern in python?

我从文本文件中读取时间戳。 这些时间戳记为UTC-4。 我需要将它们转换为美国/东部。

import datetime
datetime_utc4 = datetime.datetime.strptime("12/31/2012 16:15", "%m/%d/%Y %H:%M")

如何将其转换为美国/东部? 单行答案是最好的。

注意:我最初的问题是美国东部时间(EST)的EST。 但这并没有改变问题的实质,即如何从一个时区转到另一个时区。 经过一番阅读(以下评论),我发现python(尤其是pytz)并未将EST和EDT视为单独的时区,而是将其视为两种美国/东部风味。 但这是一个实现细节。 通常将EST和EDT称为两个不同的时区,请参见此处

根据您的更新和评论,我现在了解到您拥有固定在UTC-4的数据,并且您想对其进行更正,以使其在美国东部时间有效,包括EST / EDT。 这是使用pytz的方法

from datetime import datetime
import pytz

dt = datetime.strptime("12/31/2012 16:15", "%m/%d/%Y %H:%M") \
             .replace(tzinfo = pytz.FixedOffset(-240)) \
             .astimezone(pytz.timezone('America/New_York'))

请注意,我使用了America/New_York时区ID。 这是标识符的最正确形式。 您可以改用US/Eastern ,它可以很好地工作,但是请注意,这是一个别名,它只是为了向后兼容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM