簡體   English   中英

在python中,如何將特定本地時間(不是本地時間)中的日期時間轉換為UTC

[英]In python how do I convert a datetime in a specific local time (not my local) to UTC

我正在從倫敦的服務中提取數據,他們會給我倫敦本地時間的日期和時間信息,所以冬天是UTC,夏天是BST(UTC + 1)。

在內部,我們使用UTC進行所有操作,在Python中如何將倫敦的東西轉換為UTC,以節省日光?

我很欣賞DST過渡期間的某些時間模棱兩可,只要在今年余下時間都可以使用,這是可以接受的。

為了完整起見,我從他們那里得到以下信息:

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

您需要使用時區對象; 這些都不是Python本身附帶的,因為數據經常更改。 pytz很容易安裝。

轉換示例:

>>> 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>)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM