Ich möchte einen Zeitstempel und die aktuelle Zeitzone erfassen und in eine Datei serialisieren (in JSON oder YAML, aber das ist nicht wirklich meine Frage) für den späteren Abruf auf einem anderen Computer.Wie soll ich ein dateutil.tz.tzlocal Objekt serialisieren?
Der Zeitstempel ist einfach, ich verwende einfach time.time()
.
Für die aktuelle Zeitzone bekommen, las ich another SO question und es scheint angemessen dateutil.tz.tzlocal
zu verwenden, um die aktuelle Zeitzone zu erhalten.
Jetzt muss ich nur herausfinden, wie man es serialisiert. Der Name ist einfach, das ist nur eine Zeichenfolge, aber der Offset scheint seltsam zu sein; Ich hatte erwartet, nur eine Zahl:
import time
import datetime
import dateutil
now = datetime.datetime.utcfromtimestamp(time.time())
tzlocal = dateutil.tz.tzlocal()
print tzlocal.tzname(now)
print tzlocal.utcoffset(now)
aber druckt
US Mountain Standard Time
-1 day, 17:00:00
und das Ergebnis der UTCOFFSET erscheint ein Objekt zu sein. Wie bekomme ich nur die Nummer?