Question

Je travaille sur un projet maintenant qui me demandera de permettre aux utilisateurs de stocker dates négatives dans la base de données. Ces dates sont susceptibles de couvrir plusieurs milliers d'années avant notre ère, et aussi tard que d'aujourd'hui. » J'ai travaillé sur de nombreux projets que les dates stockées, mais ils étaient toutes les dates relativement récentes, et aucun d'entre eux n'a jamais été négative (BC).

Quels types de choses dois-je prendre en compte lorsque vous travaillez avec ce type de données? Je suis pleinement conscient des nombreux changements de calendrier qui ont eu lieu dans l'histoire, mais je travaillerai avec le calendrier moderne et ne pas se soucier trop de faire des conversions. Cependant, toute information sur les conversions serait grandement apprécié car il est un sujet très pertinent, et que je suis intéressé académique mais pas nécessaire de se concentrer sur ce projet au cours.

Mise à jour: Je serai histoire AAAA-MM-JJ (Ce format n'est pas nécessaire)

Était-ce utile?

La solution

Comment votre stockage ne précise besoin d'être? Est-ce ans, jours ou heures / minutes. Si vous cherchez seulement à jours ou des années, alors vous ne peut-être pas besoin de stocker effectivement la date, mais plutôt un décalage de +/- jour / année à partir de 0 Date

Autres conseils

J'ai eu le même problème et je voulais continuer relais sur les champs de date dans la DB pour me permettre d'utiliser la recherche plage de dates avec une précision de mise à jour des valeurs historiques. (Ma DB comprend la date de naissance et les dates des empereurs romains ...)

La solution a consisté à ajouter une année constante (exemple: 3000). À toutes les dates avant de les ajouter à la base de données et en soustrayant le même nombre avant d'afficher les résultats de la requête aux utilisateurs

Si vous DB a déjà une valeur de dates, n'oubliez pas de mettre à jour la valeur avec la sortie du nouveau numéro const.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top