(timestampText as text) as datetime => let // Verifica che il testo sia di 12 caratteri validLength = Text.Length(timestampText) = 12, result = if validLength then let // Estrazione delle componenti dal testo di 12 caratteri anno2cifre = Text.Middle(timestampText, 0, 2), mese = Text.Middle(timestampText, 2, 2), giorno = Text.Middle(timestampText, 4, 2), ora = Text.Middle(timestampText, 6, 2), minuti = Text.Middle(timestampText, 8, 2), secondi = Text.Middle(timestampText, 10, 2), // Conversione in numeri annoNum = Number.FromText(anno2cifre), meseNum = Number.FromText(mese), giornoNum = Number.FromText(giorno), oraNum = Number.FromText(ora), minutiNum = Number.FromText(minuti), secondiNum = Number.FromText(secondi), // Calcolo dell'anno completo (assumendo 20xx per anni < 50, 19xx per anni >= 50) annoCompleto = if annoNum < 50 then 2000 + annoNum else 1900 + annoNum, // Creazione della data/ora dataOra = #datetime(annoCompleto, meseNum, giornoNum, oraNum, minutiNum, secondiNum) in dataOra else error "Il testo deve essere di esattamente 12 caratteri" in result