时区和时间戳让我感到困惑,所以我希望有人能回答我的问题:)
假设我有一个解析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'
答案 0 :(得分:0)
如果你想设置你的时区并使它们在PHP和Python中保持一致,那么你的PHP代码是完全正确的,对于python你需要应用以下内容:
os.environ['TZ'] = 'America/New_York'
time.tzset()
在之前 拨打strftime()
这应该确保您将时间存储在您尝试检索它的同一区域中。
注意: tzset()
是一个仅限Unix的函数。