使用unix时间戳和时区

时间:2013-03-25 21:36:42

标签: php python date timestamp-with-timezone

时区和时间戳让我感到困惑,所以我希望有人能回答我的问题:)

假设我有一个解析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 Feed时间戳的建议。我可以跨越这行代码,所以我应该把它放在我的脚本的顶部吗?

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

1 个答案:

答案 0 :(得分:0)

如果你想设置你的时区并使它们在PHP和Python中保持一致,那么你的PHP代码是完全正确的,对于python你需要应用以下内容:

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

拨打strftime()

这应该确保您将时间存储在您尝试检索它的同一区域中。

注意: tzset()是一个仅限Unix的函数。