python - dateutil parser
Problemas en la fecha de anĂ¡lisis usando dateutil (1)
Ver los documentos de dateutil , específicamente la función de análisis (enfatiza la mía):
Además, los siguientes argumentos de palabra clave están disponibles:
predeterminado Si se proporciona, debe ser una instancia de fecha y hora. Cualquier campo que falte en la fecha analizada se copiará desde esta instancia. El valor predeterminado es la fecha actual, a las 00:00:00 a.m.
... (snip) ...
fuzzy Si fuzzy está establecido en True, se ignorarán los tokens desconocidos en la cadena.
Dado que ha establecido fuzzy
en True
, no se lanzará ninguna excepción ya que simplemente ignorará todos los tokens desconocidos. Y, como el argumento default
no se pasa, se devolverá la fecha actual.
Entonces, la solución será mantener el conjunto fuzzy
en False
, de modo que las cadenas de formato no válido generen una excepción; o verifique si la fecha y hora devuelta es igual a la fecha actual a las 00:00:00 a.m. como una indicación de una conversión fallida.
Estoy usando python-dateutil para analizar una fecha de una cadena:
import dateutil.parser
print dateutil.parser.parse(''some null string'', fuzzy=True).date()
2012-10-18
print dateutil.parser.parse(''some 31 Oct 2012 string'', fuzzy=True).date()
2012-10-31
Lo que espero es que dateutil.parser.parse(''some null string'', fuzzy=True).date()
arroje una excepción, pero está devolviendo la fecha actual. ¿Puede alguien mostrarme cómo puedo evitar recibir la fecha actual, si no se encuentra una fecha en la cadena proporcionada?
Gracias por adelantado.