def format_date_check(date): date_list = re.findall(r"\d{4}\d{1,2}\d{1,2}", date) if date_list: date_obj = datetime.datetime.strptime(date_list[0], "%Y%m%d") format_date = date_obj.strftime("%Y-%m-%d") elif re.findall(r"\d{4}-\d{1,2}-\d{1,2}", date): date_obj = (datetime.datetime.strptime( re.findall(r"\d{4}-\d{1,2}-\d{1,2}", date)[0], "%Y-%m-%d") ) format_date = date_obj.strftime("%Y-%m-%d") elif re.findall(r"\d{4}/\d{1,2}/\d{1,2}", date): date_obj = (datetime.datetime.strptime( re.findall(r"\d{4}/\d{1,2}/\d{1,2}", date)[0], "%Y/%m/%d") ) format_date = date_obj.strftime("%Y-%m-%d") elif re.findall(r"\d{1,2}/\d{1,2}/\d{4}", date): date_obj = (datetime.datetime.strptime( re.findall(r"\d{1,2}/\d{1,2}/\d{4}", date)[0], "%d/%m/%Y") ) format_date = date_obj.strftime("%Y-%m-%d") else: format_date = date return format_date