title: Using Joda Date & Time API to parse multiple formats
body: <p>I'm parsing third party log files containing date/time using Joda. The date/time is in one of two different formats, depending on the age of the log files I'm parsing.</p>
  
  <p>Currently I have code like this:</p>
  
  <pre><code>try {
      return DateTimeFormat.forPattern("yyyy/MM/dd HH:mm:ss").parseDateTime(datePart);
  } catch (IllegalArgumentException e) {
      return DateTimeFormat.forPattern("E, MMM dd, yyyy HH:mm").parseDateTime(datePart);
  }
  </code></pre>
  
  <p>This works but contravenes Joshua Bloch's advice from Effective Java 2nd Edition (Item 57: Use exceptions only for exceptional conditions). It also makes it hard to determine if an IllegalArgumentException occurs due to a screwed up date/time in a log file.</p>
  
  <p>Can you suggest a nicer approach that doesn't misuse exceptions?</p>