2010-06-02 6 views
0

Mon calendrier fonctionne correctement sur les serveurs dans PST mais sur le serveur de production (EST) tous les événements semblent se terminer un jour plus tôt. Je ne suis pas sûr si c'est un problème de fuseau horaire parce que même avec la différence de 3 heures, les événements devraient être affichés à la bonne date.Problèmes de fuseau horaire?

Est-ce que quelqu'un d'autre a rencontré ce problème?

+1

quel calendrier est-ce? Comment est-ce une question de programmation? – bmargulies

Répondre

1

Ceci est un problème typique lorsque vous traversez des barrières de fuseau horaire. Si seulement la date est portée par la base de données, mais que les données sont converties en horodatage et ajustées pour le fuseau horaire, vous avez le problème. 2010-06-02 devient 2010-06-02 00:00 EST devient 2010-06-01 21:00 PST .

0

Si les événements se terminent un jour plus tôt mais ne démarrent pas un jour plus tôt, il est probable que vos scripts dorsaux n'obtiennent pas ou ne respectent pas les informations de fuseau horaire de date de fin provenant du navigateur. Si les événements commencent à minuit HAP (ou 3 h HAE) et se terminent à minuit HAE (ou à 21 h HAP) ou peut-être minuit GMT (ou 16 h HAP), cela rendrait compte des événements «se terminant tôt». Le navigateur doit envoyer tous les événements avec des informations complètes sur la date et l'heure (par exemple '6/3/2010 00:00:00 GMT-0800') et les scripts dorsaux doivent également enregistrer et rapporter fidèlement ces informations.

Je vis au Japon mais je fais beaucoup de développement en Amérique du Nord, donc je vois constamment ce problème. Je trouve que cela aide vraiment le développement à penser à tous les événements de GMT plutôt qu'à votre propre fuseau horaire, surtout si l'un de vos utilisateurs vit dans des fuseaux horaires différents. JS gère assez bien les informations de timezone (outre le manque de connaissance de Daylight Saving Time, cela fonctionne très bien), et la plupart des serveurs font extrêmement bien le timezone, donc la plupart des bugs que vous voyez concernent les scripts clients qui envoient des informations incomplètes. faire.

Il est également intéressant de vérifier si votre application fonctionne le 7 novembre 2010 à 2h00 du matin, puisque ce jour est de 25 heures et le 13 mars 2011, puisque cette journée ne dure que 23 heures. Le passage à l'heure d'été est un diable.