Sé que esta pregunta se hace bastante y, obviamente, no se puede analizar ninguna fecha arbitraria. Sin embargo, encuentro que la biblioteca python-dateutil es capaz de analizar cada fecha que le lanzo, todo mientras no requiere absolutamente ningún esfuerzo para averiguar una cadena de formato de fecha. El tiempo de Joda siempre se vende como un gran analizador de fechas de Java, pero aún requiere que decidas en qué formato está tu fecha antes de elegir un formato (o crear el tuyo propio). No puede simplemente llamar a DateFormatter.parse (mydate) y mágicamente recuperar un objeto Date.
Por ejemplo, la fecha "Wed Mar 04 05:09:06 GMT-06: 00 2009" se analiza correctamente con python-dateutil:
import dateutil.parser
print dateutil.parser.parse('Wed Mar 04 05:09:06 GMT-06:00 2009')
pero la siguiente llamada de tiempo de Joda no funciona:
String date = "Wed Mar 04 05:09:06 GMT-06:00 2009";
DateTimeFormatter fmt = ISODateTimeFormat.dateTime();
DateTime dt = fmt.parseDateTime(date);
System.out.println(date);
Y crear su propio DateTimeFormatter frustra el propósito, ya que parece ser lo mismo que usar SimpleDateFormatter con la cadena de formato correcta.
¿Existe una forma comparable de analizar una fecha en Java, como python-dateutil? No me importan los errores, solo quiero que sea casi perfecto.
03/04/2010significa: 3 de abril de 2010 o 4 de marzo de 2010?