2013-08-13 9 views
1

J'essaie d'ajouter Events To FaceBook avec l'option Fuseau horaire activée. J'essaye d'ajouter des événements au RU avec le fuseau horaire comme "Europe/Londres". C'est ce que je remarque.FaceBook Fuseau horaire et événements

Lorsque j'envoie les suivants Début & fin des temps

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

je reçois le temps que

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

vu de FaceBook Site. Mon fuseau horaire est fixé à Londres qui est UTC. Mais quand j'envoie un événement en Novembre,

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

il est affiché comme se

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

Est-ce un comportement attendu. L'heure sera-t-elle ajustée et 20 heures s'afficheront correctement le 24 novembre?

Merci Lynn

Répondre

3

Une petite correction. Vous avez dit:

Mon fuseau horaire est fixé à Londres, qui est UTC

La zone Europe/London est UTC+00:00 en hiver, ce qui est communément appelé GMT. En été, il passe à UTC+01:00. qui est communément appelé BST. Il ne serait pas exact de dire que Londres est UTC. Je pense que tu le savais déjà, je le dis juste ici pour les autres.

Malheureusement, le comportement que vous décrivez est attendu pour Facebook. Cela se résume au fait que Facebook ne sait pas que vous êtes au . Il obtient simplement votre décalage de fuseau horaire actuel de new Date().getTimezoneOffset() de JavaScript lorsque vous vous connectez. Comme il est actuellement UTC+01:00, c'est le décalage qui est appliqué aux événements lorsque vous affichez la page en tant qu'utilisateur. Il suppose que le décalage ne changera pas ou que vous ne regarderez pas les événements futurs avant la prochaine transition.

L'API de graphe Facebook représente cela dans l'objet user. Il a une propriété timezone qui est juste un nombre. Je suppose que les développeurs Facebook n'ont pas lu le timezone tag wiki où je précise que "Time Zone! = Offset".

L'heure sera-t-elle ajustée et 20 heures s'afficheront correctement le 24 novembre?

Oui. Il affichera l'heure correcte dès que l'utilisateur se connecte après le prochain passage de BST à GMT, which is on October 27th this year.

+1

Merci à Matt pour cette explication détaillée. De votre réponse, je suppose que, j'envoie des heures correctement à FaceBook et ce format pour le fuseau horaire devrait fonctionner pour tous les autres endroits. –