2012-03-22 13 views
5

¿Existe una buena biblioteca para analizar las fechas de una cadena en Haskell o ANSI C? Algo como el strtotime de PHP o el Time.parse o Chronic de Ruby, o lo que sea.Análisis de fechas difusas en Haskell (o C)

Si se puede analizar "la próxima semana", etc., entonces eso es ideal, pero incluso si puede descubrir por sí mismo en qué formato está una cadena de fecha completa y devolver el resultado, eso sería suficiente.

Me gustaría mucho que no strototime puerto crónica o extracto de la mano ...

Respuesta

6

Después de mucha caza, he descubierto que el código de la fecha en Git es bastante bueno y no muy dependiente del resto de Git, así que lo sacó e hizo http://hackage.haskell.org/package/git-date

estoy dispuesto a utilizar una solución mejor si hay uno :)

+1

¡Impresionante! He estado queriendo esto por un tiempo. –

+0

¿Qué tal el comando de fecha de Unix? No estoy seguro de cuánto puede analizar, pero puede manejar "la próxima semana". – Masse

+0

¡Me has ahorrado un montón de tiempo! Gracias por crear esto! – Ecognium

1

No maneja cosas de estilo "la próxima semana", pero el módulo Data.Time.Format de la biblioteca time básicamente hace lo que quieras, creo, y está incluido por defecto en la plataforma Haskell. Simplemente desplácese hacia abajo en los documentos de eglefino hasta que llegue a la sección de análisis sintáctico.

+1

Todos los analizadores sintácticos en esa biblioteca requieren que pase una cadena de formato de fecha. No sé cómo se formatearán las fechas de antemano. – singpolyma

+0

@singpolyma Los documentos dicen que las funciones aceptan "alguna variación". Más allá de eso, simplemente llame a 'parseTime' (o lo que sea) con cada formato posible, separando las llamadas por' <|> ' –

Cuestiones relacionadas