2013-03-25 109 views
0

時區和時間戳工作混淆了我,所以我希望有人能回答我的問題:)與UNIX時間戳和時區

可以說我有一個分析的RSS提要的Python腳本,日期值轉換成時間戳使用下面的代碼,並將其存儲在數據庫中:

article_date = parse(article.published).strftime('%s') if hasattr(article, 'published') else round(time.time()) 

現在,當我檢索從PHP數據庫記錄,我運行下面的代碼,並PHP承擔時間戳是以UTC-0,並自動抵消時區到東部時間?

date_default_timezone_set('America/New_York'); 
echo date('Y-m-d H:i:s',$timestamp); 

我看到奇怪的問題,與我的日期,所以我不知道是否有人能幫助我,讓我如何正確地轉換和存儲RSS訂閱時間戳建議。我可以跨越這行代碼,所以我應該把它放在我的腳本的頂部?

os.environ['TZ'] = 'Europe/London' 
+0

PHP還是python?你似乎有兩種混合,你使用哪種語言? :) – favoretti 2013-03-25 21:39:47

+0

Python將時間戳存儲在數據庫中,PHP讀取並處理它們 – Joe 2013-03-25 21:43:35

回答

0

如果你想設置你的時區,並讓他們在PHP和Python中對齊,那麼你的PHP代碼是完全正確的,爲Python,你需要應用以下:

os.environ['TZ'] = 'America/New_York' 
time.tzset() 

你打電話strftime()

這應該確保你把時間存儲在同一個區域,你試圖檢索它。

注意:tzset()是一個Unix專用函數。