2010-06-23 3 views
1

Pour mon application, je dois gérer des dates estimées, par exemple "vers juin 1940" doit être accepté comme plus ou moins 2 ans autour de juin 1940. Ou ils pourraient taper "environ 1940" doit être accepté comme plus ou moins 2 ans vers 1940. Voici la liste complète des formats possibles.Comment traiter les dates estimées dans Ruby on Rails?

  • Nov.1940
  • novembre 1940
  • 6 Nov.1940
  • 6 novembre 1940
  • À propos de (date)
  • vers. (Date)
  • Dire (date)
  • bef. (date)
  • avant (date)
  • à l'arrière. (Date)
  • Après (date)
  • entre (date) et (date)
  • pari. (Date) et (date)

Je pourrais écrire mon propre analyseur, mais la question est-il est que je ne suis pas sûr de savoir comment traiter les travées étranges. Par exemple, s'ils disent vers 1940, je dois dire de 1938-1942. Ou pour le mois de juin 1940, je dois dire du 1er juin 1940 au 30 juin 1940. Je veux être en mesure de chercher cela très bien, c'est pourquoi je convertis tout à temps. Y at-il des gemmes à traiter avec ceci ou n'importe quelles idées sur la meilleure manière dans le DB pour manipuler ceci?

J'ai essayé Chronic mais il analyse mal, par exemple si vous mettez dans "1940" il pense que c'est aujourd'hui à 19:40.

Des idées?

Merci.

+0

Ceci est assez spécifique et vous pourriez probablement assommer cet analyseur en une heure ou moins. Vous avez un ensemble de possibilités bien défini. Écris-le. – BobbyShaftoe

Répondre

0

Je ne suis pas sûr si vous allez pouvoir sortir de ceci sans écrire votre propre analyseur. Je l'ai trouvé, je ne l'ai pas utilisé, mais cela pourrait vous aider à démarrer.

http://github.com/technoweenie/relative_time_helpers

+0

Ouais ça va aider, mon affichage n'est pas le problème, est-ce que quelqu'un a des idées pour un bon modèle de base de données quelconque? – Joe