title: Parse any date in Java
body: <p>I know this question is asked quite a bit, and obviously you can't parse any arbitrary date.  However, I find that the python-dateutil library is able to parse every date I throw at it, all while requiring absolutely zero effort in figuring out a date format string.  Joda time is always sold as being a great Java date parser, but it still requires you to decide what format your date is in before you pick a Format (or create your own).  You can't just call DateFormatter.parse(mydate) and magically get a Date object back.</p>
  
  <p>For example, the date "Wed Mar 04 05:09:06 GMT-06:00 2009" is properly parsed with python-dateutil:</p>
  
  <pre><code>import dateutil.parser
  print dateutil.parser.parse('Wed Mar 04 05:09:06 GMT-06:00 2009')
  </code></pre>
  
  <p>but the following Joda time call doesn't work:</p>
  
  <pre><code>    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);
  </code></pre>
  
  <p>And creating your own DateTimeFormatter defeats the purpose, since that seems to be the same as using SimpleDateFormatter with the correct format string.</p>
  
  <p>Is there a comparable way to parse a date in Java, like python-dateutil?  I don't care about errors, I just want it to mostly perfect.</p>