Python 从PST/PDT(Facebook时间戳)转换为UTC

Python 从PST/PDT(Facebook时间戳)转换为UTC,python,facebook,datetime,timezone,Python,Facebook,Datetime,Timezone,Facebook API(使用FQL)根据太平洋时区为我提供时间戳。它代表自1970年1月1日以来的第二次。 我位于法国,法国时间是夏季GMT+2,冬季GMT+1。所有基于本地的datetime/time函数都能很好地处理这种“夏季时间变化” 正如你们已经发现的,我试图将Facebook返回的时间戳转换为法国时间。今天我发现Facebook为我的周五,7月15日21:00(Facebook网站上显示的法国时间)返回1310788800。 Facebook详细说明了他们的时区是太平洋标准时间(GM

Facebook API(使用FQL)根据太平洋时区为我提供时间戳。它代表自1970年1月1日以来的第二次。 我位于法国,法国时间是夏季GMT+2,冬季GMT+1。所有基于本地的datetime/time函数都能很好地处理这种“夏季时间变化”

正如你们已经发现的,我试图将Facebook返回的时间戳转换为法国时间。今天我发现Facebook为我的周五,7月15日21:00(Facebook网站上显示的法国时间)返回1310788800。 Facebook详细说明了他们的时区是太平洋标准时间(GMT-8h)。1310788800是UTC的7月15日星期五20:00,这导致了法国的22:00

所以他们多了一个小时,这让我得出以下结论:

  • 或者facebook不是基于PST而是基于PDT(考虑到一个夏天) 时间魔法改变了他们所有的日期——这似乎不现实)
  • 或者在Facebook上没有考虑到法国夏季的变化 网站与数据库
  • 这两个都意味着Facebook API很难为远方的人们使用 从他们的服务器和Facebook上,时间管理是用脚编码的
不管怎样,问题都是一样的。我希望能够在冬季和夏季转换此日期。要做到这一点,我必须考虑这一次基于PDT,并将其转换为UTC时间。 您是否有使用python将PDT更改为UTC的提示

谢谢你的帮助

我必须使用

此解决方案来自我以前的帖子:


希望它能帮助

在python中将PDT更改为UTC,使用pytz


但facebook API似乎比这更棘手。请参见

“(考虑到夏季所有日期的魔法变化——这似乎不现实)”显然,您同意大多数开发商对夏令时的看法……关于夏令时或世界时储蓄的正确观点是什么?正确观点为gloabl受众设计的API不应使用本地时间,而应使用UTC。但是不要让我开始说facebook没有和其他人玩得很好。谢谢,问题解决了:)。我的问题只是阅读facebook活动网站创建的活动日期。我不需要插入新事件。
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))