تحويل السلسلة الزمنية غير UTC مع اختصار المنطقة الزمنية إلى التوقيت العالمي المنسق في python ، بينما يتم حساب التوفير الصيفي

أواجه صعوبة في تحويل تمثيل سلسلة لأوقات غير UTC إلى UTC بسبب اختصار المنطقة الزمنية.

(update: it seems that the timezone abbreviations may not be unique. if so, perhaps i should also be trying to take this into account.)

لقد كنت أحاول البحث عن طريقة حول هذا باستخدام datetutil و pytz ، ولكن لم يكن لديك أي حظ.

سيكون موضع تقدير الاقتراحات أو الحل البديل.

string = "Jun 20, 4:00PM EDT" 

أرغب في تحويل ذلك إلى وقت UTC ، وهو حساب توفير التوقيت الصيفي عندما يكون ذلك مناسبًا.

UPDATE: Found some references that may help more experienced users answer the Q.

في الأساس ، أتخيل جزءًا من الحل الذي يؤدي عكس هذا .

UPDATE (هام)

مأخوذ من أمثلة dateutil docs .

بعض الأمثلة البسيطة استنادًا إلى أمر التاريخ ، باستخدام قاموس TZOFFSET لتوفير إزاحة المنطقة الزمنية BRST.

<�اقتباس فقرة>     <�اقتباس فقرة>       

parse ("Thu Sep 25 10:36:28 BRST 2003"، tzinfos = TZOFFSETS)       datetime.datetime (2003 ، 9 ، 25 ، 10 ، 36 ، 28 ،                         tzinfo = tzoffset ('BRST' ، -10800))

             

تحليل ("2003 10:36:28 BRST 25 Sep Thu"، tzinfos = TZOFFSETS)       datetime.datetime (2003 ، 9 ، 25 ، 10 ، 36 ، 28 ،                         tzinfo = tzoffset ('BRST' ، -10800))

    </اقتباس فقرة>   </اقتباس فقرة>

ضم هذا إلى مكتبة مثل موجود هنا. وسيكون لديك حل لهذه المشكلة.

0
نعم ، اختصارات المناطق الزمنية ليست فريدة من نوعها في جميع أنحاء العالم. هل تستطيع أن تفترض بلد؟
وأضاف المؤلف Mark Ransom, مصدر
@ beargle - نعم. أفترض الحالية لجميع هذه المخرجات.
وأضاف المؤلف snakesNbronies, مصدر
ما هي القيمة التي يجب استخدامها للسنة؟ تيار؟
وأضاف المؤلف Bryan, مصدر
ألقِ نظرة على ردNas Banov هنا
وأضاف المؤلف Bryan, مصدر

1 إجابة

باستخدام قاموس Nas Banov الممتاز ، يتم اختصار اختصارات المنطقة الزمنية إلى تعويض UTC:

import dateutil
import pytz

# timezone dictionary built here: https://stackoverflow.com/a/4766400/366335
# tzd = {...}

string = 'Jun 20, 4:00PM EDT'
date = dateutil.parser.parse(string, tzinfos=tzd).astimezone(pytz.utc)
0
وأضاف
كنت على وشك العودة مع تحديث حول المكتبات.
وأضاف المؤلف snakesNbronies, مصدر