2017-09-14 9 views
0

J'ai créé un événement et j'ai également passé le fuseau horaire EST. Mais dans mon Google Agenda, il s'affiche en tant que décalage horaire 3 heures plus tard.Les événements affichent un mauvais moment dans Google Agenda via l'API

Par exemple, je passe les valeurs

"start": { 
    "dateTime": "2017-10-27T15:00:00-04:00", 
    "timeZone": "EST" 
}, 
"end": { 
    "dateTime": "2017-10-27T19:00:00-04:00", 
    "timeZone": "EST" 
} 

Mais les valeurs indiquées dans le calendrier est:

"start": { 
    "dateTime": "2017-10-27T18:00:00-04:00", 
    "timeZone": "EST" 
}, 
"end": { 
    "dateTime": "2017-10-27T22:00:00-04:00", 
    "timeZone": "EST" 
} 

C'est un problème grave. Quelqu'un peut-il m'aider s'il vous plaît, merci.

Répondre

0

Quelques choses:

  • Ne pas passer EST. Utilisez le format complet Area/Locality du tz identifier.

    • Alors que EST est un identifiant valide, il est fixé à UTC-5. Ce n'est vraiment là que pour certains scénarios de compatibilité ascendante.
    • La date que vous avez indiquée correspond à l'heure d'été UTC-4.
    • En supposant que vous vouliez dire le fuseau horaire Est des États-Unis, vous devez indiquer America/New_York comme ID de fuseau horaire.
  • Même avec ce qui précède pris en considération, votre sortie ne devrait pas être fait comme indiqué ci-dessus.

+0

Dans mon code, je converti mon sql.timestamp à bien avant la conversion à la forme standard de RFC3339. Est-ce que cela change le fuseau horaire? Et pouvons-nous définir le fuseau horaire comme Etc/GMT-5? –

+0

Ce n'est pas ce que vous montrez ci-dessus, et non. –

+0

Comme vous l'avez dit, j'ai essayé comme vous l'avez dit, j'ai défini le TimeZone comme "America/New_York" et j'ai ajouté l'événement via api, mais il est ajouté au mauvais moment. Les ensembles de fuseaux horaires du calendrier écrivent en conséquence ou devrais-je le définir via api? –