【问题标题】:FaceBook Time zone and Event TimesFacebook 时区和事件时间
【发布时间】:2013-08-13 08:38:35
【问题描述】:

我正在尝试在启用时区选项的情况下将事件添加到 Facebook。我正在尝试在英国添加时区为 "Europe/London" 的事件。这就是我注意到的。

当我发送以下开始和结束时间时

[start_time] => 2014-08-24T20:00:00+0100
[end_time] => 2014-08-24T22:00:00+0100

我得到了时间

[When]
    Sunday, August 24, 2014
    [Time]
    8:00pm until 10:00pm 

从 Facebook 网站查看时。我的时区设置为伦敦,即 UTC。但是当我在 11 月发送一个事件时,

[start_time] => 2014-11-24T20:00:00+0000
[end_time] => 2014-11-24T22:00:00+0000

显示为

[When]
        Monday, November 24, 2014
        [Time]
        9:00pm until 11:00pm 

这是预期的行为。 11 月 24 日时间会调整,晚上 8 点会正确显示吗?

谢谢 林恩

【问题讨论】:

    标签: facebook-graph-api timezone


    【解决方案1】:

    一个小的修正。你说:

    我的时区设置为伦敦,即 UTC

    Europe/London 区域在冬季为UTC+00:00,通常称为GMT。在夏天它切换到UTC+01:00。通常称为BST。说伦敦 UTC 是不准确的。我想你已经知道了,我只是在这里为其他人陈述。

    很遗憾,您所描述的行为是 Facebook 的预期行为。归根结底,Facebook 不知道您在Europe/London 中。它只是在您登录时从 JavaScript 的 new Date().getTimezoneOffset() 获取您当前的时区偏移量。由于它当前是 UTC+01:00,因此当您以用户身份查看页面时,这是应用于事件的偏移量。它做出了一个有缺陷的假设,即偏移量不会改变,或者您在下一次转换之前不会查看未来的事件时间。

    Facebook Graph API 在user 对象中表示这一点。它有一个 timezone 属性,它只是一个数字。我猜 Facebook 开发人员还没有阅读 timezone tag wiki 我明确指出“时区!=偏移”。

    11 月 24 日晚上 8 点会正确显示时间吗?

    是的。下次从 BST 切换到 GMT,which is on October 27th this year 后,用户登录后,它将立即显示正确的时间。

    【讨论】:

    • 感谢 Matt 详细解释这一点。从您的回复中,我假设我正在向 FaceBook 正确发送时间,并且这种时区格式应该适用于所有其他位置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-13
    • 2012-02-11
    • 1970-01-01
    • 2015-06-05
    • 2020-01-18
    相关资源
    最近更新 更多