2016-05-09 10 views
0

Ich brauche die Art der Verwendung von Kurzwahl Name wie PST, IST usw. auf Pytz wissen.Wie abgekürzt Zeitzone Name (PST, IST) in Pytz

Jetzt kann ich zwischen Zeitzone mit dem Zeitzone Namen wie "America/Los_Angeles" konvertieren können.

Stattdessen muß ich den Weg finden, den Namen der Zeitzone wie PST verwendet, IST etc.

Beispielcode ich verwendet habe, jetzt für die Konvertierung.

def local2utc(self, dt): 

    from_zone = tz.gettz('America/Los_Angeles') 
    to_zone = tz.gettz('UTC') 
    local = dt.replace(tzinfo=from_zone) 
    print("converted time") 
    print(local.astimezone(to_zone).replace(tzinfo = None)) 
    return local.astimezone(to_zone).replace(tzinfo = None) 

Jemand ließ mich wissen, wie man das gleiche erreicht. Diese

+0

1- Entsprechen diese Abkürzungen Ihrer lokalen Zeitzone? Andernfalls kann das Ergebnis mehrdeutig sein. Siehe [Parsing Datum/Uhrzeit Zeichenfolge mit abgekürzter Name der Zeitzone in Python?] (Http://stackoverflow.com/q/1703546/4279) 2- Ihre 'local2utc()' ist falsch. Verwenden Sie '.replace (tzinfo)' nicht mit einer Zeitzone, die einen nicht festen Utc-Versatz hat, wie zum Beispiel 'America/Los_Angeles'. Siehe [Datetime Timezone Konvertierung mit Pytz] (http://stackoverflow.com/q/27531718/4279) – jfs

Antwort

0

ist von Natur aus unmöglich, weil einige Abkürzungen mehrere (verschiedene) Zeitzonen bedeuten kann:

http://www.timeanddate.com/time/zones/

Wenn Sie es wünschen für Ihre Zeitzonen speziell zu arbeiten, machen Sie eine Wörterbuch-Mapping Abkürzung zu langen Namen .