title: Parsing a date that can be in several formats in python
body: <p>I would like to parse a date that can come in several formats, that I know beforehand. If I could not parse, I return nil. In ruby, I do like this:</p>
  
  <pre><code>DATE_FORMATS = ['%m/%d/%Y %I:%M:%S %p', '%Y/%m/%d %H:%M:%S', '%d/%m/%Y %H:%M', '%m/%d/%Y', '%Y/%m/%d']
  
  def parse_or_nil(date_str)
      parsed_date = nil
      DATE_FORMATS.each do |f|
          parsed_date ||= DateTime.strptime(date_str, f) rescue nil
      end
      parsed_date
  end
  </code></pre>
  
  <p>This is concise and works. How can I do the same thing in Python?</p>