¿Hay un analizador genérico para analizar cadenas "... ago" y convertirlas en objetos DateTime?Parse "X años y hace Y hace" cadenas parecidas en Ruby
frases posibles son:
- 1 año | @Count años (y 1 semana | semanas @Count) hace
- 1 semana | semanas @Count (y 1 día | @Count días) hace
- 1 día | @Count días (y 1 horas | @Count horas) hace
- 1 horas | hace horas @Count (y 1 min | @count min) hace
- 1 min | hace @count min (y 1 sec | @count sec) hace
- 1 sec | @count sec hace
Es una combinación de dos (hace Foo y Bar) o solo uno (hace Foo). Y puede ser singular o plural.
Ruby's DateTime::parse()
no puede manejar esto, ni tampoco DateTime::strptime()
.
Estoy esperando una gema o un fragmento en algún lugar que maneje esto.
De lo contrario, tendré que crear mi propio analizador, en cuyo caso sería muy bienvenido un puntero a cómo crear los propios DateTime Parsers.
Nota al margen: Para futuras consultas: Estos son los generados por timestrings Drupals Format Interval
(mantenedor crónica aquí) @dmarkow es correcta, crónica no puede manejar cosas como '1 año y 1 semana atrás', generalmente es bastante fácil dividirlos en segmentos y manejarlos por separado. ¡No dude en abrir una solicitud de función en http://github.com/mojombo/chronic y lo investigaré! –
Agregando a esto (no quiero dar otra respuesta a esta pregunta, esta respuesta debe ser la aceptada). Consulte este fragmento para manejarlo varias veces: https://gist.github.com/61529720a993aaad30a3 –
@injekt ¡Agradable! Incorporaré en mi respuesta. –