Ich habe mir viele mögliche Wege zur Python-Zeitanalyse angesehen. Using parse seems link the only method that should work. While trying to use datetime.strptime causes an error because %z
does not work with python 2.7. Wenn Sie parse.parse jedoch falsch verwenden, wird die Zeitzone erkannt.Dateutil Parse-Bug in Python gibt den falschen Wert zurück
Ich analysiere beide Fri Nov 9 09:04:02 2012 -0500
und Fri Nov 9 09:04:02 2012 -0800
und bekomme den gleichen Zeitstempel in Unix-Zeit. 1352480642
- Meine Version von Python 2.7.10
- Meine Version von dateutil 1,5
Hier ist mein Code, der den Test läuft.
#!/usr/bin/python
import time
from dateutil import parser
def get_timestamp(time_string):
timing = parser.parse(time_string)
return time.mktime(timing.timetuple())
test_time1 = "Fri Nov 9 09:04:02 2012 -0500"
test_time2 = "Fri Nov 9 09:04:02 2012 -0800"
print get_timestamp(test_time1)
print get_timestamp(test_time2)
Ausgabe
1352480642.0
1352480642.0
Erwartete Ausgabe
1352469842.0
1352480642.0
In Python 3 bekomme ich '1352448242.0' für beide Zeilen! Sind Sie sicher, dass die Zeitzone richtig analysiert wurde? –
Nicht sicher. Ich ziehe diese Saiten direkt aus GIT-Logs. Ich mache nicht die Parsing Python ist. – Whitecat
Tatsache ist: Werte sind abhängig von Python-Versionen unterschiedlich! –