【问题标题】:Parse timezone int to string (timezone name) (facebook api)将时区 int 解析为字符串(时区名称)(facebook api)
【发布时间】:2018-01-15 08:54:30
【问题描述】:

如何将时区从 int 转换为 string(例如:Europe/Stockholm)

我正在使用Facebooks PHP api,它返回["timezone"] => int(2)。我该如何解析呢?

【问题讨论】:

    标签: php facebook-graph-api timezone


    【解决方案1】:

    如何将时区从 int 转换为字符串(例如:Europe/Stockholm)?

    你不能。阅读the timezone tag wiki 中的“时区!= 偏移量”。

    Facebook 的 documentation 解释说,timezone 字段是用户与 UTC 的时区偏移量。

    不清楚,但我通过实验发现,它不一定是用户的当前偏移量,而是用户上次登录时的偏移量. 如果用户更改时区,或者夏令时开始或结束,在用户下次登录之前,这些都不会反映在 Facebook 数据中。

    另见这些帖子:

    【讨论】:

    • 谢谢。我将使用 UTC 的偏移量而不是缩写。
    【解决方案2】:

    您可以使用timezone_name_from_abbr("", $value*3600, false); 获取时区名称。 $value 是您从 Facebook 获得的时区偏移量。

    Thanks to minaz.

    【讨论】:

    • 这将为该偏移创建一个固定的时区,这可能是您在这些情况下可以做的最好的事情。但要明白它和Europe/Stockholm不一样,在UTC+1和UTC+2之间交替。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-28
    • 2022-11-15
    • 1970-01-01
    • 2018-09-10
    • 1970-01-01
    • 2010-12-14
    相关资源
    最近更新 更多