Source code for reformat_date

from datetime import datetime
import re


[docs] def reformat_date(date_str, input_format_str, output_format_str): # Define a dictionary to map the custom format to strftime/strptime formats format_mapping = { 'yyyy': '%Y', 'yy': '%y', 'mm': '%m', 'dd': '%d', 'HH': '%H', 'MM': '%M', 'SS': '%S' } # Helper function to convert custom format to strftime/strptime format def convert_format(custom_format): # Match all format parts (e.g., yyyy, mm, dd, HH, MM, SS) format_parts = re.findall(r'(yyyy|yy|mm|dd|HH|MM|SS)', custom_format) date_format = custom_format for part in format_parts: date_format = date_format.replace(part, format_mapping[part]) return date_format # Convert input and output formats to strftime/strptime formats input_date_format = convert_format(input_format_str) output_date_format = convert_format(output_format_str) # Convert the input date string to a datetime object date_obj = datetime.strptime(date_str, input_date_format) # Reformat the date according to the output format provided by the user reformatted_date = date_obj.strftime(output_date_format) return reformatted_date