Siamo sempre a livello di interpretazioni personali ma secondo me interpretazioni come 10/01/1998 non sono accettabili perché lo 0 dopo lo 1 del giorno è significativo! e così è per i mesi.
Il testo dice che:
optionally preceded by a zero when it is a single digit (i.e., 05 and 5 are both possible).
quindi un 1 può diventare 01 ma non 10. Di conseguenza dalle otto che proponi si ritorna a 3.
In sostanza può mancare la prima cifra (quella a sinistra) se è 0 di un giorno o di un mese.
Per quanto riguarda l’anno può mancare la prima o anche le prime due (1 o 19)
Francamente non vedo perché sia necessario ricorrere a interpretazioni personali quando il testo (citato giustamente da @v.bizzarri ) specifica chiaramente cosa è ammesso.
Esattamente, l’ho scritta perché inizialmente il mio programma calcolava come output 1, considerando il 0056 come data valida.
Il mio problema erano i due zeri davanti che non venivano considerati, facendo così risultare valido il 56.