在python中,如何将特定本地时间(而不是本地时间)中的日期时间转换为UTC

2024-10-01 07:37:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我从伦敦的一家服务公司提取数据,他们给我伦敦本地的日期和时间信息时间。所以冬季为UTC,夏季为BST(UTC+1)。在

在内部,我们什么都用UTC,在Python中,我如何将伦敦的东西转换成UTC,这样就可以节省日光了?在

我很感激DST延期的某些时候是模棱两可的,只要它在今年剩下的时间里有效,这是可以接受的。在

为了完整起见,我从他们那里得到以下信息:

dt="2012-10-12T19:30:00"
lcnid="LDN"
locale="en-gb"

Tags: 数据信息时间dtlocaleendstutc
1条回答
网友
1楼 · 发布于 2024-10-01 07:37:02

您需要使用timezone对象;这些对象不会随Python本身一起提供,因为数据变化太频繁。但是^{} library很容易安装。在

示例转换:

>>> import pytz
>>> import datetime
>>> bst = pytz.timezone('Europe/London')
>>> dt = datetime.datetime.strptime('2012-10-12T19:30:00', '%Y-%m-%dT%H:%M:%S')
>>> dt
datetime.datetime(2012, 10, 12, 19, 30)
>>> bst.localize(dt)
datetime.datetime(2012, 10, 12, 19, 30, tzinfo=<DstTzInfo 'Europe/London' BST+1:00:00 DST>)
>>> bst.localize(dt).astimezone(pytz.utc)
datetime.datetime(2012, 10, 12, 18, 30, tzinfo=<UTC>)

相关问题 更多 >