web-dev-qa-db-fra.com

Comment afficher un délai "convivial" sans week-end?

J'ai un problème où nous avons un tableau de bord qui affiche les délais.

Nous venons de rencontrer un peu d'énigme, avec la façon de gérer les week-ends.

Vous avez l'événement A, qui a un délai pour être exécuté dans les 24 heures. L'événement A est levé à 9h30 jeudi, là pour la date limite est 9h30 vendredi.

Vendredi, le tableau de bord s'affiche dans la colonne date limite:

Aujourd'hui

Rien ne se passe vendredi (dans le pub probablement) et lundi, le tableau de bord affiche:

Il ya 3 jours

Lorsque, pour l'entreprise, il n'y a pas de travail le samedi ou le dimanche, ils n'ont donc dépassé le délai que d'un jour, pas de 3.

Cependant, le problème survient si le tableau de bord affiche:

il y a 1 jour

Le lundi, alors les gens commencent à penser que la date limite était dimanche? Et l'horodatage réel de la date limite est 9h30 vendredi! Donc, les deux points ne correspondent pas ...

Comment afficher cela au mieux?

  1. Laissez-le tel quel, étant entendu que le délai était en fait, en vérité, il y a 3 jours
  2. Ajuster la date limite pour être dimanche pour l'affichage?
  3. Les deux colonnes ont-elles été séparées et ont-elles un calcul séparé pour les jours précédents et un pour la date limite réelle? Et puis je dois expliquer pourquoi dimanche était en fait vendredi.
27
RemarkLima

Soit 3 days ago signifier 3 days ago ( pas 3 jours ouvrables).

Il semble parfaitement raisonnable pour une entreprise du lundi au vendredi de vouloir planifier la maintenance du serveur le dimanche matin lorsque le trafic vers ses services Web est faible. Si votre interface utilisateur reflète généralement number of business days, lorsqu'ils arrivent le lundi matin, les avertissant que leur événement est "en retard d'un jour" alors qu'il en fait dû le dimanche matin serait difficile à communiquer.

Un avantage supplémentaire: en ne se souciant pas des jours qui sont des jours ouvrables, vos commentaires sur l'interface utilisateur ne dépendent pas de la mise à jour des données sur les vacances de l'entreprise. 1 day veux dire 1 day que le bureau soit ouvert ou non.

Toutefois...

Si vous prévoyez:

  • Ne jamais autoriser les dates d'échéance le week-end
  • Exiger que les données de fermeture de l'entreprise soient à jour

J'irais avec la grande suggestion de tobybot qui suggère d'ajouter la date d'échéance exacte entre parenthèses pour être explicite dans cette situation ambiguë.

(De plus, si vous avez 24 heures de retard un jeudi, dire "il y a 1 jour" n'est probablement pas ambigu, vous pouvez donc ignorer l'ajout des parenthèses.)

52
maxathousand

Plutôt que de dire:

La date limite était il y a 3 jours

Que diriez-vous de le formuler:

Le délai est en retard d'un jour

27
ESR

Si "jour" signifie autre chose que "jour calendaire", soyez précis.

Un utilisateur qui lit "il y a 3 jours" supposera vendredi s'il lit lundi, et j'ai du mal à croire que les gens sauront que "il y a 3 jours" lundi fait en fait référence au mercredi précédent.

Vous pouvez utiliser un terme spécifique tel que "jour ouvrable" ou "jour ouvrable" si vous choisissez d'exclure les week-ends de vos calculs. Il peut être utile d'annoter également avec le nom du jour spécifique (si moins d'une semaine) ou la date (pour des durées plus longues).

Exemples

(Supposons qu'aujourd'hui soit le mardi 18 juillet 2017)

  • Il y a 1 jour ouvrable (lundi)
  • Il y a 2 jours ouvrables (vendredi)
  • Il y a 5 jours ouvrés (11 juillet)

Ou

  • Il y a 1 jour ouvrable (lundi)
  • Il y a 2 jours ouvrables (vendredi)
  • Il y a 5 jours ouvrés (11 juillet)
24
Toby Speight

S'agit-il d'un système où les "jours ouvrables" peuvent changer (comme c'est un logiciel à utiliser par diverses entreprises clientes), ou les jours ouvrables sont-ils toujours M-F?

Dans les deux cas, vous pouvez modifier l'hypothèse selon laquelle elle compte les jours ouvrables. Si cela est porté à la connaissance des utilisateurs, vous pouvez faire le calcul de manière appropriée et ne pas avoir à vous en soucier. Donc, si l'entreprise est fermée le samedi-dimanche, il vous suffit de compter le nombre de jours de semaine qui se sont écoulés. Lundi, "il y a 1 jour" signifie vendredi.

Le hic ici est que l'utilisateur doit réfléchir un peu pour comprendre ce que signifie "il y a 3 jours" s'il le voit un lundi. Pour résoudre ce problème (en supposant qu'aujourd'hui soit le lundi 17 juillet 2017), voici une option:

Il y a 1 jour (ven)

Il y a 3 jours (mer)

Il y a 10 jours (6/26)

13
tobybot

Que diriez-vous si le délai était au cours de la dernière semaine, vous affichez:

Dernier [jour de la semaine]

donc votre exemple serait:

Vendredi dernier

Dans l'ensemble, votre tableau de bord (avec un mélange de délais), en supposant qu'il s'agissait d'un mercredi, peut afficher:

  • Hier
  • Aujourd'hui
  • Vendredi dernier
  • il y a 2 jours
  • Mardi dernier

Alternativement, vous pouvez utiliser un bâton avec des descriptions conviviales et ajouter un nombre de jours ouvrables:

  • Hier (1j)
  • Aujourd'hui
  • Vendredi dernier (3d)
  • Lundi (2j)
  • Mardi dernier (6j)

MODIFIER : Ajout d'un meilleur mélange d'exemples de délais

11
Raad

Je pense que le problème est que vous mélangez deux concepts différents mais étroitement liés.

Il y a le délai pour l'action qui est un point fixe dans le temps. Ensuite, il y a le montant de la violation de la mesure qui peut être affecté par le temps ouvrable que vous souhaitez appliquer à la mesure.

Vous affichez actuellement le temps écoulé depuis la date d'échéance, mais il semble que les gens s'attendent à voir le temps de travail pour lequel la tâche a été violée. D'après ce que vous avez dit, le temps du week-end ne compte pas. Qu'en est-il en dehors des heures normales de bureau? Le temps durant la nuit où personne n'est là compte-t-il? Cela peut ne pas dépendre de la granularité de votre écran.

Je pense que la façon la plus simple d'afficher cela est d'ajouter une autre colonne pour montrer la date limite réelle séparément de la durée pendant laquelle la tâche a été violée. Cela évitera toute confusion et vous permettra également de prendre en compte des scénarios dans lesquels des tâches sont planifiées le week-end et/ou certaines tâches futures peuvent avoir un calendrier 24h/24 et 7j/7 pour le calcul de leur seuil de violation car c'est vraiment critique. Alternativement, il vous suffit de choisir les informations que vous souhaitez afficher et de clairement étiqueter votre champ.

example table

Normalement cependant, pour les mesures impliquant du temps de travail, j'afficherais la date limite réelle et le nombre d'heures pendant lesquelles la mesure a été dépassée. Les groupes de lignes ou le codage couleur peuvent être utilisés pour trier les choses en compartiments temporels comme "en retard", "aujourd'hui", "demain", etc. Mais tout cela est plutôt subjectif et les utilisateurs ont des exigences étranges ...

4
Mike D.

Comme exemple de gestion de ce problème de dates d'échéance, considérons l'application de gestion de projet Asana. Essentiellement, il ignore le concept de jours ouvrables.

Asana editorial use case example screenshot

Asana indique la date d'échéance et les codes de couleur attribués, que ce soit à venir ou en retard. Si mercredi vous deviez terminer une tâche le vendredi précédent, la tâche aurait un "vendredi" rouge à sa date d'échéance. En raison du vendredi à venir, c'est un "vendredi" vert au même endroit. Date d'échéance plus d'une semaine avant ou après le présent, il est indiqué un timbre à date plutôt qu'un jour de la semaine, et pour les dates d'échéance à venir dans plus de quelques jours, le code de couleur est gris. Seul le temps qu'il en est autrement est pour le vert ou le rouge "demain" ou "hier", auquel cas il ne différencie pas les jours ouvrables des jours normaux.

3
cr0