add src path
This commit is contained in:
37
src/utils/timestamp/date_check.py
Normal file
37
src/utils/timestamp/date_check.py
Normal file
@@ -0,0 +1,37 @@
|
||||
from datetime import datetime
|
||||
|
||||
def normalizza_data(data_string: str)->str:
|
||||
"""
|
||||
Normalizza una stringa di data al formato YYYY-MM-DD, provando diversi formati di input.
|
||||
|
||||
Args:
|
||||
data_string (str): La stringa di data da normalizzare.
|
||||
|
||||
Returns:
|
||||
str: La data normalizzata 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
|
||||
|
||||
def normalizza_orario(orario_str):
|
||||
try:
|
||||
# Prova prima con HH:MM:SS
|
||||
dt = datetime.strptime(orario_str, "%H:%M:%S")
|
||||
return dt.strftime("%H:%M:%S")
|
||||
except ValueError:
|
||||
try:
|
||||
# Se fallisce, prova con HH:MM
|
||||
dt = datetime.strptime(orario_str, "%H:%M")
|
||||
return dt.strftime("%H:%M:%S")
|
||||
except ValueError:
|
||||
return orario_str # Restituisce originale se non parsabile
|
||||
Reference in New Issue
Block a user