gpt4 book ai didi

python - 将 Facebook 事件开始/结束时间转换为 UTC

转载 作者:行者123 更新时间:2023-11-28 17:51:29 31 4
gpt4 key购买 nike

我无法从 Facebook 以 UTC 格式获取结束时间的事件开始时间。

我正在使用 Facebook Python 库,我正在运行这些查询来检索事件:

fb_events = graph.get_connections(fb_user["id"], "events", args=["date_format=U"])
for item in fb_events['data']:
curr_event = graph.get_object(item['id'], args=["date_format=U"])

代码的最后一行是我实际获取包含开始时间和结束时间的事件的地方。 arg: "date_format=U" 应该以 unix 时间指定时间格式,这已经是 UTC 时间,但是,此代码仍返回正常的 Facebook 时间戳,在本地时间。

如何以 UTC 时间或跨时区一致的某种时间获取此信息?

谢谢!

最佳答案

以下内容可能会帮助您进行转换:

import pytz, datetime, time
import os

originalTimeStamp = os.stat("/tmp/file-from-us-west-coast").st_mtime

# prints e.g. 2010-03-31 13:01:18
print "original:",datetime.datetime.fromtimestamp(originalTimeStamp)

# re-interpret
originalTimeZone = "America/Los_Angeles"
targetTimeZone = "Europe/Paris"

newTimeStamp = pytz.timezone(originalTimeZone).localize(datetime.datetime.fromtimestamp(originalTimeStamp)).astimezone(pytz.timezone(targetTimeZone))

# prints e.g. 2010-03-31 22:01:18+02:00
print "new: ",newTimeStamp

# convert back to seconds since epoch
newTimeStamp = time.mktime(newTimeStamp.timetuple())

# print time difference in hours
print (newTimeStamp - originalTimeStamp) / 3600.0

有关详细信息,请参阅此链接:http://pytz.sourceforge.net/

代码的另一个例子

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))

关于python - 将 Facebook 事件开始/结束时间转换为 UTC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9025136/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com