Я хотел бы проанализировать дату, которая может появиться в нескольких форматах, которые я знаю заранее. Если бы я не мог разобрать, я возвращаю нуль. В рубине мне это нравится:
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
Это краток и работает. Как я могу сделать то же самое в Python?