[英]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時區的最終列表。
此嘗試使用datetime
和pytz
模塊。 首先將其解析為“美國/太平洋地區”,然后將其轉換為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.