2017-08-23 5 views
0

J'ai actuellement une version fonctionnelle de mon application (application web). Mon application permet aux utilisateurs de planifier des rendez-vous en ligne. Lorsque je soumets des rendez-vous, dois-je comptabiliser les fuseaux horaires? Donc, si quelqu'un vivait à New York en utilisant mes applications qui sont basées en Californie, aurais-je besoin de faire des ajustements au temps pour lequel les rendez-vous sont stockés comme horodatage de la date?Dois-je me préoccuper des fuseaux horaires dans mon application?

Je vois UTC partout sur le web sans trop savoir si le fuseau horaire joue toujours un rôle dans tout cela. Quelqu'un peut-il me guider quant à l'approche que je dois prendre pour ma demande?

Nous vous remercions de votre temps! C'est très apprécié!

Répondre

1

Une date UTC est une date/heure qui est globalement la même. Chaque utilisateur de votre application dispose d'un décalage local à cette date/heure, ce qui permet à votre application de calculer le datetime correct pour chacun de vos utilisateurs, en fonction de la date UTC et du décalage. Ce décalage est basé sur l'emplacement des utilisateurs, qui (selon que vous parlez d'une application Web ou d'une application de bureau ou de téléphone, que vous ne mentionnez pas) peut être fourni par un navigateur via JavaScript ou via le OS sous-jacent. Donc, en bref, stockez toutes les dates comme UTC, et calculez la bonne date par utilisateur pour l'afficher dans votre application.

La plupart des langages de programmation ont des fonctionnalités pour ces extensions intégrées ou disponibles via. Google pour "locale" ou "Localisation" (l10n) en combinaison avec le langage ou le cadre que vous utilisez pour savoir comment implémenter cela exactement.

éditez: vous posez spécifiquement des rendez-vous dans votre application; si votre application est exécutée sur un serveur Web, les paramètres datetime de webservers sont utilisés, cela peut vous causer des problèmes lorsque vous comparez une date/heure de votre utilisateur à l'heure actuelle sur votre serveur (pour voir si un rendez-vous est dû)

Il échouera également lorsque vous souhaitez comparer un rendez-vous de deux utilisateurs dans des fuseaux horaires différents pour voir s'ils se chevauchent.

Si votre application s'exécute uniquement localement, sans stockage centralisé, elle fonctionnera sans recourir aux dates UTC.

+1

Désolé, mon application en cours est une application web. J'aime beaucoup votre réponse car elle devient plus détaillée quant à ce que je dois faire pour atteindre les objectifs que je veux :) merci pour vos commentaires! :) – rapid3642

+0

en réponse à votre modification: Je vois, donc si je stocke les heures de rendez-vous en UTC cela devrait résoudre ces problèmes de temps de serveur correct?et puis bien sûr faire la localisation du côté client pour afficher les rendez-vous dans le bon moment? – rapid3642

+0

oui. Côté serveur, vous pouvez comparer les dates UTC pour vérifier le chevauchement par exemple. Dès que vous obtenez une date (localisée) de votre utilisateur, convertissez-la en UTC avant de la calculer ou de la stocker. Après les calculs ou la récupération des dates UTC à partir du stockage, convertissez-les dans les paramètres régionaux des utilisateurs avant de les afficher. Encore une fois, il existe des extensions et des frameworks disponibles qui gèrent la plupart de ces conversions pour vous. –

1

Oui, vous devez gérer correctement les fuseaux horaires car le calendrier doit prendre la date système car elle sera différente pour les différents utilisateurs à travers le globe.

+0

Merci beaucoup! Je ferai ce que je peux pour que cela soit mis en place dès que possible alors :). Content de savoir que mon inquiétude était valable. Merci d'avoir pris le temps de me guider! – rapid3642

0

Oui, prenez en compte les fuseaux horaires.

Si vous pouvez ajuster les dates et heures en UTC, avant de les transmettre et de les stocker, vous pourrez facilement compenser l'étrangeté des heures d'été.

Si vous ne réglez l'heure UTC que pour l'affichage et l'entrée, en fonction des paramètres régionaux de votre utilisateur, vous pouvez planifier dans le monde entier.