web-dev-qa-db-fra.com

Comment représenter "Beginning of Time" et "Infinite Future"

Je travaille sur une application de reporting et nous récupérons plusieurs enregistrements en fonction de leurs plages de dates de début/fin. Les utilisateurs peuvent choisir de laisser les dates de début et/ou de fin vides.

Exemples:

Example 1 - Date: 1/15/2010 to 2/3/2011
Example 2 - Date: [blank] to 2/3/2011
Example 3 - Date: 1/1/2010 to [blank]
Example 4 - Date: [blank] to [blank]

L'exemple 1 signale tous les enregistrements entre le 1er janvier 2010 et le 3 février 2011. L'exemple 2 signale tous les enregistrements qui se sont terminés avant le 3 février 2011. L'exemple 3 signale tous les enregistrements qui ont commencé après le 1er janvier 2011. L'exemple 4 rapporte tous les enregistrements.

Quelle est la meilleure chose à dire pour ces taches [vides]? "Beginning of Time" et "Infinite Future" sont techniquement pas correct - parce que vous pouvez définir la date de fin sur blanc et la date de début sur 1/1/1970 et obtenir un record qui s'est terminé dans les années 80 - pas exactement le "futur infini" - "Début du temps" et "Futur infini" sont également assez longs en termes d'espace.

3
Joseph Ravenwolfe

Vous pouvez avoir un seul champ qui ouvre une plage de dates.

Une fois que l'utilisateur a fini de sélectionner les dates, elles apparaissent sur un seul champ.

De cette façon, vous pouvez utiliser:

  1. 15/01/2010 au 03/02/2011
  2. jusqu'au 2/3/2011
  3. à partir du 1/1/2010
  4. Tout le temps
7
ΞΫΛL

Vous ne référez pas vraiment au début et à la fin des temps ici. Vous voulez juste dire du début de l'ensemble de données à la fin de l'ensemble de données.

Nous résolvons cela de deux manières dans nos produits, en fonction en grande partie de la familiarité de l'utilisateur avec l'ensemble de données faisant l'objet du rapport:

Option 1

  1. 15/01/2010 au 03/02/2011
  2. Avant le 2/3/2011 (peut également être "jusqu'au 2/3/2011" ou "2/3/2011 et antérieur")
  3. Après le 1/1/2010 (peut également être "Depuis le 1/1/2010" ou "1/1/2010 et ultérieur")
  4. Aucune valeur dans aucun des champs

Le libellé exact que vous choisissez doit dépendre de choses comme le fait que votre recherche inclut la date ou l'exclusivité.

Option 2

Remplissez automatiquement les dates de début et de fin avec les première et dernière dates réelles représentées dans le jeu de données, afin qu'elles deviennent:

  1. 15/01/2010 au 03/02/2011
  2. 1/1/2009 au 2/3/2011
  3. 1/1/2010 au 28/03/2011 (vous pouvez choisir d'utiliser le mot "aujourd'hui" au lieu de la date actuelle pour plus de clarté)
  4. 01/01/2009 au 28/03/2011

Cette option n'a de sens que si les utilisateurs comprennent que le 1/1/2009 est le début de l'ensemble de données; c'est quelque chose que vous devez décider en fonction de ce que les données représentent.

2
Kit Grose