def convert_dt_format()

in datasets/san_francisco/pipelines/_images/run_csv_transform_kub/csv_transform.py [0:0]


def convert_dt_format(dt_str: str, from_format: str = '"%Y-%m-%d %H:%M:%S"') -> str:
    if not dt_str or str(dt_str).lower() == "nan" or str(dt_str).lower() == "nat":
        return ""
    else:
        if from_format.find(" ") > 0:
            # Date and Time
            return str(
                datetime.strftime(
                    pd.to_datetime(
                        (dt_str if from_format[-2:] == "%p" else dt_str[:19]),
                        format=f"{from_format}",
                        errors="ignore",
                    ),
                    "%Y-%m-%d %H:%M:%S",
                )
            )
        else:
            # Date Only
            return str(
                datetime.strftime(
                    pd.to_datetime(
                        dt_str[:10],
                        format=f"{from_format}",
                        errors="ignore",
                    ),
                    "%Y-%m-%d",
                )
            )