Question

D'accord, c'est peut-être une question simple, mais je n'ai pas encore trouvé de solution efficace, donc à tous ceux qui peuvent aider à l'avance, merci.

Considérez le scénario suivant: Nous avons une application Web fonctionnant sous MySQL (si vous avez besoin de savoir) qui dépend du temps, par exemple une application qui envoie un courrier électronique à l'heure spécifiée par l'utilisateur. Maintenant, chaque utilisateur a défini son fuseau horaire / ville et les serveurs fonctionnent sous UTC pour plus de simplicité. L'heure exacte serait l'heure du serveur + le fuseau horaire + l'heure d'été. L'utilisateur souhaite que l'e-mail lui parvienne le 4 janvier 2010 à 17 heures. Ma question serait de savoir comment obtenir l'heure d'été correcte? Cela signifie-t-il que cet utilisateur se trouve dans une région qui observe l'heure d'été si l'a-t-il ou non encore observé?

Mon premier réflexe serait de trouver un service Web qui, compte tenu du fuseau horaire / de la ville actuel, vous permettrait de passer à l’heure avancée. Jusqu'à présent, je n'en ai pas trouvé. La deuxième idée me décourage de devoir définir des règles relatives à l’heure d’été, car celles-ci changent d’une année à l’autre et, dans certains pays, de plus d’un jour ou deux.

Toute aide grandement appréciée.

Était-ce utile?

La solution

Si votre langage de programmation ne prend pas en charge la logique de fuseau horaire sophistiquée, vous n'avez pas à programmer les règles vous-même. Il vous suffit de programmer le support pour la base de données zoneinfo .

Autres conseils

Enregistrez vos dates en secondes depuis le 1er janvier 1970 GMT dans votre base de données et vous aurez toujours le temps dont vous avez besoin. Lorsque l'utilisateur entre dans son temps, convertissez-le de manière appropriée en utilisant les paramètres de fuseau horaire corrects et vous avez terminé.

Vos serveurs fonctionnent déjà sans fuseaux horaires. Le moment venu, la sélection est facile.

Voici du code permettant de convertir des fuseaux horaires dans LISP:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top