私はPython時間を解析するための多くの方法を見てきました。 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。しかし、parse.parseを使用すると、タイムゾーンが正しく認識されません。PythonのDateutil解析バグが間違った値を返す
私はFri Nov 9 09:04:02 2012 -0500
とFri Nov 9 09:04:02 2012 -0800
の両方を解析し、UNIX時間で正確に同じタイムスタンプを取得します。 pythonの1352480642
- マイバージョンdateutil 1.5
の2.7.10
#!/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)
出力
1352480642.0
1352480642.0
の予想される出力
1352469842.0
1352480642.0
、私は両方の行に '1352448242.0'を取得!タイムゾーンが正しく解析されていますか? –
わかりません。私はGITログからこれらの文字列をまっすぐに引き出しています。私はPythonを解析していません。 – Whitecat
実際は:値はPythonのバージョンによって異なります! –