Voici le problème: l'UE et les États-Unis n'activent et ne désactivent pas l'heure d'été en même temps; en mars, il y avait une différence de trois semaines entre ces événements.
Voici ce qui se passe durant cette période. Supposons que vous ayez un événement tous les jours à la même heure et, puisque vous êtes basé aux États-Unis, vous allez ajuster les heures en utilisant l'heure d'été américaine.
Day (2001) United States Europe United Kingdom Global Time delta
March 5th EST 1500 CET 2100 GMT 2000 GMT 2000 +23h
March 6th EDT 1500 CET 2000 GMT 1900 GMT 1900 +24h
March 7th EDT 1500 CET 2000 GMT 1900 GMT 1900 +24h
..............................................................................
March 26th EDT 1500 CET 2000 GMT 1900 GMT 1900 +24h
March 27th EDT 1500 CEST 2100 BST 2000 GMT 1900 +24h
Analysons toutes les possibilités:
Si vous affichez l'heure dans un fuseau horaire mondial et que vous l'appelez UTC , ce qui semble être la bonne chose à faire, vous allez confondre vos clients américains, qui vont voir différentes heures UTC (hier 20h, aujourd'hui 19h) pour le même heure d'horloge murale (hier à 15 heures, aujourd'hui à 15 heures à nouveau), puis vos clients basés dans l'UE, qui ne voient pas le changement d'horloge affiché et doivent cependant changer l'heure de leur événement d'horloge murale.
Si vous affichez l'heure dans un fuseau horaire mondial et l'appelez GMT , en plus de dérouter les clients américains, vous confondrez également les clients britanniques qui passent de GMT à BST. Il est contre-intuitif de comprendre que EDT 1500 et EST 1400 sont le même moment dans le temps; traduisez maintenant cela en BST / GMT (avec le problème supplémentaire que vous n'allez pas afficher les heures BST dans aucune partie du site).
Si vous affichez le fuseau horaire dans un fuseau horaire de l'UE (j'ai utilisé CET / CEST pour éviter la confusion GMT / UTC), cela va évidemment être très déroutant pour vos clients américains, qui voient l'heure de l'événement basculer d'avant en arrière deux fois et pourtant sans aucun mur le temps de l'horloge se change. Alors que vos clients américains peuvent être prêts pour le premier interrupteur (après tout, ils doivent changer leurs horloges murales le même jour), ils seront surpris par ce dernier.
Si vous affichez le fuseau horaire dans le fuseau horaire américain (comme EST / EDT ), vous aurez la situation exacte expliquée ci-dessus, mais en miroir!
Cela semble être une situation désespérée! Voici comment j'en suis venu à y remédier après quatre ans passés à travers ce rigolade (deux fois par an, évidemment): "inventer un fuseau horaire".
Je suis exactement dans la situation illustrée ci-dessus, j'ai donc composé "NYT" (fuseau horaire de New York) afin que je puisse écrire "1500 NYT" pour signifier "15 heures dans le fuseau horaire que New York utilise."
Cela a l'avantage que, tant que l'utilisateur sait que la valse DST se produit, il a un moyen très simple de faire des allers-retours dans leur propre fuseau horaire: google " time in new york " pour voir quelle heure il est à NY , puis travaillez à partir de là. Vous pouvez même avoir de la fantaisie et utiliser des services basés sur la géolocalisation tels que time.is/15:00_in_New_York .
Notez que, bien que vous puissiez utiliser les noms d'abréviations de fuseau horaire dans time.is, je vous exhorte à ne pas le faire, car ils sont assez confus à ce sujet eux-mêmes: EST a le même temps que EDT‽
Vous pouvez informer les utilisateurs de l'heure d'été avec une courte description, en vous connectant à un service Web de conversion de temps approprié pour aider les gens. Idéalement, tous les horodatages devraient avoir une option à convertir en heure locale.
En fin de compte, vous devez vous rendre compte que j'ai ignoré l'éléphant dans la pièce depuis longtemps, et c'est la solution de "compte à rebours" que vous avez déjà mise en œuvre. Il n'y a rien de confus à propos de "en 1 jour 2 heures 45 minutes 47 secondes" (et si vous croyez que vous n'avez pas besoin de beaucoup de précision, vous voudrez peut-être réfléchir à nouveau ).
Bien sûr, selon mon expérience, je n'ai jamais eu le luxe de quoi que ce soit qui ne soit pas du texte statique, j'ai donc dû gérer l'incroyable désordre illustré ci-dessus (et ce n'est que le début ! , mais pour votre cas d'utilisation, cela ressemble à la solution avec le moins de risque de confusion. Vous pouvez obtenir deux fils de discussion par an sur les événements «en 23 heures» et «en 25 heures» alors que le compte à rebours commence normalement par «en 24 heures», mais c'est tout.