簡體   English   中英

在python中將PDT中的時間列表轉換為UTC

[英]Convert a list of time in PDT to UTC in python

我有一個列表start_time,其中包含約400個時間序列,這些時間序列已轉換為以下格式的時間格式:

(2017, 10, 22, 15, 19, 23)
(2017, 10, 22, 15, 19, 35)
(2017, 10, 22, 15, 19, 35)
(2017, 10, 22, 15, 19, 35)
..
..
..

這次是在PDT中。 我想在UTC時區轉換此列表。

我必須將列表轉換為時間格式的代碼:

y=[tuple(dparse(x).timetuple())[:6] for x in start_time]

我必須將其轉換為UTC的代碼:

y_utc = [tuple(dparse(x).astimezone(pytz.utc).timetuple())[:6] for x in y]

使用這個我得到錯誤:

TypeError: Parser must be a string or character stream, not tuple

我也嘗試使用擺錘:

y = [pendulum.parse(x, tz='US/Pacific') for x in start_time]
y_utc = [z.astimezone("UTC") for z in y

但是,要么內核停止運行,要么表明astimezone不可迭代。

因此,我需要utc時區的最終列表。

此嘗試使用datetimepytz模塊。 首先將其解析為“美國/太平洋地區”,然后將其轉換為UTC 另外,您需要解壓縮元組(使用*),然后將其提供給datetime構造函數。

from datetime import datetime
import pytz

time_stamps = [(2017, 10, 22, 15, 19, 23), (2017, 10, 22, 15, 19, 35)]

my_timezone = pytz.timezone('US/Pacific')

for time_stamp in time_stamps:
     date = datetime(*time_stamp).replace(tzinfo=my_timezone)
     print (date.astimezone(pytz.utc))

暫無
暫無

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

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