web-dev-qa-db-fra.com

Comment gérer l'heure d'été lors de l'affichage des données enregistrées

Si nous avons un système qui mesure et enregistre la consommation d'énergie d'un utilisateur, puis affiche ces données toutes les heures, comment devriez-vous afficher les anomalies qui se produisent lors du passage à/de l'heure d'été? Le problème est que si vous ne connectez les données qu'à une heure, vous obtiendrez une heure vide ou une heure à laquelle les données seront enregistrées deux fois.

Considérez que c'est le cas ordinaire:

mockup

télécharger la source bmml - Wireframes créés avec Balsamiq Mockups

Lors du passage à/de l'heure d'été, cela se produirait:

mockup

télécharger la source bmml

ou:

mockup

télécharger la source bmml

Des bonnes suggestions sur la façon d'expliquer cela à l'utilisateur?

6
magnus.westrom

J'ai moi-même rencontré ce problème dans un projet précédent et nous avons décidé de plusieurs choses:

  1. Le temps — étant continu — doit être affiché comme tel, quelles que soient les fluctuations de l'heure locale
    Dans ce cas, votre troisième exemple ne respecte pas cette exigence.

  2. Tous les temps doivent être corrects afin qu'ils puissent être corrélés aux expériences de la vie réelle
    par exemple. "Pourquoi la consommation d'énergie était-elle si élevée à 3 heures du matin alors qu'il n'y avait personne à la maison?"

  3. Chaque heure sur le graphique devrait représenter exactement une heure de temps réel
    Dans ce cas, votre deuxième exemple ne respecte pas cette exigence, car l '"heure" du milieu représente en fait deux heures.

La solution devient alors celle où la plupart des jours ont 24 heures mais certains en ont 25 et d'autres 23.

En effet, cela signifierait que votre deuxième graphique aurait quatre barres verticales avec les étiquettes "00: 00–01: 00", "01: 00–2: 00", "01: 00–02: 00" et "02:00 –03: 00 ", et votre troisième graphique n'aurait que deux barres avec les étiquettes" 00: 00–01: 00 "et" 02: 00–03: 00 ".

Bien que je reconnaisse qu'il est un peu déroutant de voir deux barres représentant des heures réelles différentes avec la même étiquette exacte et d'avoir une heure entière ignorée dans le graphique, c'est exactement la façon dont la journée est vécue par l'utilisateur, donc c'est beaucoup plus significatif que le alternatives que vous avez présentées.

C'est aussi (relativement) technologiquement simple, car vos données sont presque certainement stockées en fonction de l'heure UTC; vous dessinez chaque colonne de graphique en fonction de chaque heure de données réelles, puis vous traduisez simplement les étiquettes en heure locale de l'utilisateur.

9
Kit Grose