2009-07-23 10 views
6

No recuerdo qué aplicación estaba usando, pero sí recuerdo que tiene un análisis/interpretación de la fecha realmente bueno.Interpretación de fecha inteligente

Por ejemplo, podría escribir 'hace dos días' o 'mañana' y lo entendería.

¿Alguna biblioteca para sugerir? Puntos de bonificación si se pueden usar desde Python.

+0

http://www.rememberthemilk.com/ y GNU * at * "permiten especificaciones de tiempo bastante complejas" – Utaal

Respuesta

6

Consulte mi SO answer para obtener enlaces a tres bibliotecas de análisis de fecha de Python. El más común de estos es python-dateutils, pero desafortunadamente no puede manejar todos los formatos.

8

Tal vez usted está pensando en función de PHP strtotime(), la Swiss Army Knife of date parsing:

hombre, ¿qué hice antes strtotime(). Oh, lo sé, tenía una función de línea 482 para analizar los formatos de fecha y las marcas de tiempo de retorno. Y todavía no podía hacer cosas geniales. Al igual que esta noche, tenía que averiguar cuándo era Acción de Gracias en los Estados Unidos. Sabía que era el 4º jueves de noviembre. Entonces, comencé con algunas cosas de matemáticas y comprobando qué día de la semana llegaría el 1 de noviembre. Todo eso me estaba haciendo doler la cabeza. Entonces, intenté con esto por diversión.

strtotime("thursday, november ".date("Y")." + 3 weeks") 

Eso me da Acción de Gracias. Increíble.

Lamentablemente, no parece ser un equivalente de Python. Lo más parecido que pude encontrar es el módulo dateutil.parser.

+0

Puede ejecutar algo como lo siguiente en python: [elemento para el elemento en la lista (rrule.rrule (rrule.MONTHLY) , count = 12, byweekday = rrule.TH (4), dtstart = datetime.date.today())) if item.month == 11] [0] .strftime ('% Y-% m-% d') . Esto calcularía las fechas del 4º jueves de cada mes durante un año. A continuación, seleccione aquel en el que el mes sea noviembre y tenga la fecha para el próximo Día de Acción de Gracias. – user2694306

2

El simple que he visto para python es here.

Utiliza pyparsing y es solo una pequeña secuencia de comandos, pero hace lo que usted pregunta. Sin embargo, la ventaja es que sería bastante fácil de ampliar y mejorar si es necesario. Pyparing es relativamente fácil de aprender a medida que avanza el análisis.

Cuestiones relacionadas