我想解析一个可以有多种格式的日期,我事先知道。如果我无法解析,我返回 nil。在红宝石中,我喜欢这样:
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 中做同样的事情?