2016-06-15 6 views
2

Dies ist, was ich habe:Wechselzeit von der UTC PDT

pat = '%Y-%m-%d %H:%M:%S +0000' 
my_time = time.strptime(task_time, pattern) 

Aber, wie kann ich die Zeitzone von ändern:

my_time: 
2016-06-15 23:27:52 +0000 

in eine andere Zeitzone:

PDT 

oder

-0700 

So ist das Ergebnis:

result = 2016-06-15 16:27:52 -0700 

Antwort

2

das Python-Paket verwenden arrow dieses einfache Skript kann verwendet werden:

import arrow 

fmt = "YYYY-MM-DD HH:mm:ss Z" 

time = arrow.get("2016-06-15 23:27:52 +0000", fmt) 
time = time.to("US/Pacific") 

print(time.format(fmt)) 

2016-06-15 16:27:52 -0700

Installieren Pfeil mit pip install arrow

Edit: Wenn Sie möchten das arrow Paket nicht verwenden:

import time 
import calendar 

fmt = "%Y-%m-%d %H:%M:%S " 

t = calendar.timegm(time.strptime("2016-06-15 23:27:52 +0000", fmt + "+0000")) 
t -= 8 * 60 * 60 

s = time.strftime(fmt + "-0700", time.gmtime(t)) 

print(s) 

Beachten Sie, dass dieser schreckliche Code ist, und wenn Sie diese in der Produktion verwenden, werden Sie auf jeden Fall von Ihrem Job gefeuert werden, installieren Sie so einfach die arrow Paket!

+0

Danke, aber ich suchte nach einer Lösung, ohne etwas anderes als Standardbibliotheken zu importieren. – Empario

+0

@Empario Dies ist nicht möglich ohne Pakete –

+0

einige Lösung mit Zeit, Kalender, Datetime-Pakete – Empario