0

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

假设我有一个 Python 脚本,它解析 RSS 提要,使用以下代码将日期值转换为时间戳并将其存储在数据库中:

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'
4

1 回答 1

0

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

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

你打电话之前strftime()

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

注意: tzset()是一个 Unix-only 函数。

于 2013-03-25T21:48:23.597 回答