2009-10-11 8 views
3

Ce qui serait un bon algorithme de hachage pour les dates de hachage, par ex. 24/12/09 et 31/10/89?Algorithme de hachage pour les dates

Les dates se situeraient entre 1950 et 2050.

pourrait en quelque sorte en utilisant l'horodatage unix, possible?

+1

Eh bien oui, vous pouvez utiliser l'horodatage UNIX car il est garanti qu'il soit unique chaque seconde. Je pourrais mieux répondre si vous nous avez éclairé sur pourquoi vous êtes hashing. –

+0

Je veux stocker des paires de dates et ensuite vérifier si cette paire a déjà été saisie auparavant. –

+0

@stereofrog, en fonction de la mise en œuvre du hachage, ce qui précède nécessiterait une allocation d'un tableau de taille 20 501 231, ce qui est assez énorme. – carl

Répondre

10

Vous pouvez utiliser le nombre de jours au lieu du nombre de secondes écoulées depuis le début de l'Epoque Unix. Il suffit de calculer:

<unix timestamp>/86400 
+3

êtes-vous sûr que% est bon fonctionnement, je préférerais divison. –

+1

@ralu: Vous avez raison, ce doit être la division et non modulo puisque je suis intéressé par les pleins jours et non les secondes restantes. – Gumbo

+1

C'est bien, mais cela ne répondra pas aux besoins de l'OP: "Je veux stocker des paires de dates et ensuite vérifier si ** exactement cette paire ** a été entrée auparavant". –

Questions connexes