2017-01-10 4 views
2

ich den folgenden Code verwenden und es gibt:hinzufügen Zeitzone in der aktuellen Zeitstempel für Python

now = time.strftime("%c") 
Out[196]: 
'Mon Jan 9 18:34:48 2017' 

Wir haben einige Parser haben, die die Zeitstempel zu lesen, und sie erwarten, dass die folgende Konvention:

Mon Jan 9 17:02:40 PST 2017 

Der Hauptunterschied liegt zwischen den Sekunden und dem Jahr, in dem der Code die Zeitzone nicht enthält. Ich habe mit den Bibliotheken time.strftime und datetime herumgespielt, aber ich bin immer noch nicht in der Lage, die Ausrichtung des Zeitstempels, die ich suche, zu bekommen.

Ich dachte auch, ich könnte den Zeitstempel in meine bestehende Zeichenfolge einfügen oder einfügen, die die Zeitzone fehlte, aber selbst das funktionierte nicht für mich.

Antwort

2

Sie können die Zeitzone erhalten datetime statt time mit:

import datetime as dt 
from tzlocal import get_localzone # $ pip install tzlocal 
local_tz = get_localzone() 

now = dt.datetime.now(local_tz) 
print now.strftime('%a %b %d %H:%M:%S %Z %Y') 

Achten Sie darauf, eine Zeitzone zu der datetime als naive Zeitstempel eine Zeitzone angezeigt wird nicht vergeben.

Die oben erzeugt:

Mon Jan 09 19:40:28 PST 2017 
+0

Dank dieser für mich gearbeitet. – Matt

Verwandte Themen