Facebook API(使用FQL)为我提供了基于太平洋时区的时间戳。它代表自1970年1月1日以来的秒数。 我位于法国和法国,夏季GMT + 2,冬季GMT + 1。所有日期时间/时间函数都基于本地处理这个“夏令时更改”。
正如您已经想到的那样,我尝试将Facebook返回的时间戳转换为法国时间。今天我发现Facebook在7月15日星期五21:00(法国时间在Facebook网站上显示)返回1310788800。 Facebook详细说明他们的时区是PST(GMT-8h)。 1310788800是UTC的7月15日星期五20:00,这导致法国的22:00。
所以他们是一个额外的小时,这导致我得出这些结论:
无论如何,问题都是一样的。我希望能够在冬季和夏季转换这个日期。为此,我必须将此时间视为基于PDT并将其转换为UTC时间。
您是否有提示使用python将PDT更改为UTC?
感谢您的帮助!
答案 0 :(得分:2)
我必须使用pytz
from datetime import *
from pytz import timezone
import pytz
[...]
if (not isinstance(pacificTime, int)):
pacificTime = int(pacificTime)
originalTimeZone = "America/Los_Angeles"
print datetime.fromtimestamp(pacificTime, pytz.timezone(originalTimeZone))
此解决方案来自我之前的帖子:Changing a unix timestamp to a different timezone
希望它可以提供帮助
答案 1 :(得分:1)
在python中将PDT更改为UTC,请使用pytz。
但似乎facebook API比这更棘手。见Facebook Events and timezones, how to convert UTC datetime to what facebook expects?