2011-09-13 10 views
1
標準のPythonでは

、私はこれをやっ日時に時間の文字列表現に変換することができます:アプリエンジンで、日付時刻までの時間の文字列表現を変換

date_string = u'Tue, 13 Sep 2011 02:38:59 GMT'; 
date_object = datetime.strptime(date_string, '%a, %d %b %Y %H:%M:%S %Z'); 

私はどこのApp Engine上で同じを呼び出すまでは正常に動作します

time data did not match format: data=2011-09-13 02:38:59 fmt=%a, %d %b %Y %H:%M:%S %Z 

datetime表現を取得するにはどうすればこの日付文字列を正しく変換できますか?

+0

ローカルで動作しますが、GAE上でバージョンをチェックしないために何かを得ている場合。おそらく、GAEは2.5を使用していますが、2.7.2または3.2を使用していますか? –

+0

'%Z'パラメータは一方向でしかサポートされておらず、その他の問題があります。それに頼らないでください。このようなものが必要な場合は 'dateutil.parse'を使います。 – agf

+0

これは明らかにApp Engineに固有のものではありません。エラーメッセージを見てください - あなたは日付 "2011-09-13 02:38:59"を渡していて、それを完全に異なった表現でそれを解析するように頼んでいます。 –

答えて

1

実際にTue, 13 Sep 2011 02:38:59 GMTを送信していないことを示すエラーメッセージが表示されますが、2011-09-13 02:38:59です。 strptimeに正しいパラメータを渡してもよろしいですか?次のためにうまく

私のpythonの作品:

datetime.strptime(u'Tue, 13 Sep 2011 02:38:59 GMT', "%a, %d %b %Y %H:%M:%S %Z") 
# returns datetime.datetime(2011, 9, 13, 2, 38, 59) 

また、これは私のために正常に動作します:

from dateutil imoprt parser as dparser 
dparser.parse("Tue, 13 Sep 2011 02:38:59 GMT") 
# returns datetime.datetime(2011, 9, 13, 2, 38, 59, tzinfo=tzutc()) 
関連する問題