2009-09-07 4 views
0

Dans l'application que j'écris actuellement, la spécification demande qu'un nombre de dates soit entré sans années. Je veux connaître l'opinion de tous sur la meilleure façon de le faire, à tous les niveaux.Dates de manutention sans années. De la base de données jusqu'à l'interface utilisateur

Je suis presque certain qu'ils doivent être stockés dans la base de données comme champs de date normaux, mais avant qu'ils arrivent ici, l'année doit toujours être réglée sur la même chose (peut-être 1900 ou quelque chose d'aussi évident).

Mon modèle de domaine me pose quelques problèmes. Est-ce que je crée un nouveau type qui gère les dates sans années? Est-ce que j'utilise des DateTimes standard mais intercepte le setter pour m'assurer que l'année est toujours réinitialisée? Y a-t-il une autre option?

Qu'en est-il de l'interface utilisateur? Actuellement, nous utilisons JQuery UI pour nos champs datetime. Cela peut-il être ajusté pour rendre l'année indépendante? Y a-t-il une meilleure façon de le faire?

Répondre

1

Laissez l'année partie de datetime juste être. Il suffit de l'ignorer dans toutes vos opérations de lecture/écriture.

Si vous devez cependant effectuer des calculs de distance sur des dates, réglez-les simplement sur les mêmes valeurs fixes. Mieux vaut le faire dans votre framework pour que cette partie soit gérée automatiquement et transparente pour vous.

1

Vos paramètres doivent être du type DateTime ou simplement du type Date. Essayez de manipuler avec get {} et set {}, pour que les deux valeurs d'année soient définies sur une valeur exacte. Cette modification n'affectera pas votre application et sera facile à manipuler dans le futur.

Questions connexes