24 lines
907 B
Python
24 lines
907 B
Python
from datetime import datetime
|
|
|
|
def conforma_data(data_string: str)->str:
|
|
"""
|
|
Conforma una stringa di data al formato YYYY-MM-DD, provando diversi formati di input.
|
|
|
|
Args:
|
|
data_string (str): La stringa di data da conformare.
|
|
|
|
Returns:
|
|
str: La data conformata nel formato YYYY-MM-DD,
|
|
o None se la stringa non può essere interpretata come una data.
|
|
"""
|
|
formato_desiderato = "%Y-%m-%d"
|
|
formati_input = ["%Y/%m/%d", "%Y-%m-%d", "%d-%m-%Y","%d/%m/%Y", ] # Ordine importante: prova prima il più probabile
|
|
|
|
for formato_input in formati_input:
|
|
try:
|
|
data_oggetto = datetime.strptime(data_string, formato_input)
|
|
return data_oggetto.strftime(formato_desiderato)
|
|
except ValueError:
|
|
continue # Prova il formato successivo se quello attuale fallisce
|
|
|
|
return None # Se nessun formato ha avuto successo |