/ / TimeZones par utilisateur dans une application Web utilisant Spring - java, hibernate, spring, timezone

TimeZones par utilisateur dans une application web utilisant Spring - java, hibernate, spring, timezone

J'ai une application web qui a différentsles utilisateurs se connectent pour voir les transactions. Je souhaite pouvoir permettre aux utilisateurs de définir leur propre fuseau horaire, puis de lier les dates des formulaires à l’aide du fuseau horaire de l’utilisateur, de sorte qu’ils puissent rechercher des transactions dans une base de données et que les résultats soient ajustés en fonction du fuseau horaire de l’utilisateur. J'ai un utilisateur dans le fuseau horaire de montagne qui effectue une recherche entre 8h00 et 20h00 (heure de Paris), et je veux qu'il puisse voir les transactions créées entre 8h00 et 20h00 (heure de Paris). J'ai également un autre utilisateur effectuant une recherche à l'heure normale de l'Est. zone qui souhaite rechercher des transactions entre 8h00 et 20h00 et souhaite que leur recherche renvoie des résultats pour les transactions créées entre 8h00 HAE et 20h00 HAE. J’ai essayé de faire résoudre les éditeurs à partir de l’application à l’aide d’un FactoryBean personnalisé. extrait l’utilisateur actuellement authentifié et définit son fuseau horaire comme fuseau horaire utilisé par le format DateFormat utilisé par les éditeurs de Spring, et cela fonctionne au départ, mais au moment où les calendriers que j’utilise utilisent le système de reliure de Spring, le fuseau horaire anéanti et remplacé esprit h (apparemment) la valeur par défaut du système. Est-ce que quelqu'un a déjà implémenté ce genre de chose auparavant? Cela ressemble à rien de moins qu'une douleur épique dans les fesses.

Réponses:

1 pour la réponse № 1

Je ne peux pas vous aider à résoudre vos problèmes spécifiques d’implémentation, mais j’estime que l’idée générale d’implémenter des fuseaux horaires n’est pas idéale.

Vous devez utiliser les horodatages UTC sur votre serveur et laisser le client l'afficher dans le fuseau horaire utilisé par le système client. Cela devrait être le concept général à suivre ici.