Ihre Datetime ist keine naive Datetime, sie weiß um die Zeitzone, in der sie sich befindet (Ihre Print-States sind -5). Sie müssen also nur als utc setzen, bevor Sie es konvertieren
>>> import time, pytz
>>> utc = pytz.timezone('UTC')
>>> utc_dt = utc.normalize(dt.astimezone(utc))
>>> time.mktime(utc_dt.timetuple())
1355270789.0 # This is just to show the format it outputs
Epoche Wenn das dt Objekt ein naives Datetime-Objekt war, würden Sie brauchen, um mit Zeitzonen arbeiten einzuhalten Zeit zu Sommerzeit, während der Suche nach korrekte Stunden zwischen GMT 0. Zum Beispiel, Rumänien im Winter hat es +2 und im Sommer +3.
Für Ihre -5 Beispiel wird New York tun:
>>> import time,pytz
>>> timezone = pytz.timezone('America/New_York')
>>> local_dt = timezone.localize(dt)
Jetzt haben Sie eine nicht-naive Datumzeit haben, und Sie können die Epoche Zeit zu bekommen, wie ich zuerst erklärt. Viel Spaß
Epochen Sekunden existieren nicht von Zeitzone. Per Definition sind sie UTC und sind weltweit gleich. Jede Zeitzone wird zur lokalen Zeit konvertiert. –
@jimmcnamara Das ist der Schlüssel. Sehr hilfreich, mein Herr. –