2012-03-15 15 views
0

私たちは現在、フェイスブックAPIからdatetimesを引き出し、それらをPythonにmysql datetimeカラムに保存しているPHPスクリプトを移植しています。しかし、mysqlデータベースから時間を引くと、Pythonで送信された時間は、PHPスクリプトによって送信された時間より6時間遅れています。同じPythonスクリプトを使用して値を取得して表示します(これはdjangoアプリケーションです)。したがって、データをmysqlデータベースにプッシュするときには、何かが起こっているはずです。php date to python datetimeポートの問題

updated_time文字列は次の形式で次のようになります。 "2012-03-15T21:02:50 + 0000"

PHP:

$time = $status['updated_time']; 
$time = strtotime($time); 
$time = date("Y-m-d H:i:s", $time); 

のpython:

timestamp = datetime.strptime(status['updated_time'], "%Y-%m-%dT%H:%M:%S+0000") 

Iまた、python-dateutilモジュールを使ってタイムゾーンのデータを取得しようとしたところ、同じ結果が得られました。

djangoが値を変更しているかどうかわかりません。それは私にとって非常に混乱しています。

$time = $status['updated_time']; 
$time = strtotime($time); 
$time = gmdate("Y-m-d H:i:s", $time); 

とあなた:

+0

は、同じマシンで実行されているPythonスクリプトとPHPスクリプトの両方ですか? – dm03514

+0

ESTはGMTから+6です。タイムゾーンを確認してください – tkone

+0

phpスクリプトは別のサーバーで実行されていましたが、両方のサーバーがMountain Standard Timeに設定されています。サーバーの設定は私の最初の推測でしたが、私はそれを言及すべきでした。 – vectorfrog

答えて

2

私は理由がタイムゾーン、PHP date()機能表示現地時間、パイソンtime.strftime()は、このPHPコードを試してみてくださいオブジェクト

を埋めながら (gmdatedateを置き換える)だと思います同じ結果を持たなければならない