2013-03-25 102 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专用函数。