我怎样才能获得facebook用户的时间?

时间:2013-11-17 14:07:52

标签: python facebook facebook-graph-api facebook-fql cherrypy

我正在构建一个Web应用程序,用于监控在CherryPy(Python Web Framework)中Facebook上的朋友的运行时间,我想知道如何在任何给定时间获得Facebook用户的时间。

如果我需要在特定时间说“朋友A在线”,则需要匹配他们的时区,因此我有点难过。

我在python中使用了pytz模块,但没有运气。

目前,我正在通过FQL检索用户的“时区”,然后将时区值添加到数据库中:

user_details = fbconsole.fql("""SELECT uid, timezone, name FROM user WHERE uid = me()""")

我想知道一些事情:

  • 是否可以通过Facebook API获取朋友在线的时间?
  • 是否有可能通过使用时区偏移来计算客户在任何给定时间的时间? (如果是这样,怎么样?我还没能做到这一点)

提前谢谢

1 个答案:

答案 0 :(得分:0)

我能够通过以下代码自行解决这个问题:

from datetime import datetime
from pytz import timezone
#set user timezone (GMT +10)
user_timezone = timezone('Etc/GMT+10')
#convert local time to user time
user_timezone_time = user_timezone.localize(datetime.now())
#format in 12hr time (%I for 12 hour time and %p for AM PM clarification)
formatted_user_timezone = user_timezone_time.strftime('%Y-%m-%d %I:%M:%S %p %Z%z')
print formatted_user_timezone

这允许我从Facebook API的“用户”字段中检索timezone字段,然后将其与上面的代码一起应用,以找出facebook用户的本地时间。

谢谢!我希望这有助于其他人。