const moment = require('moment'); const readlineSync = require('readline-sync'); // Funzione per verificare il formato della data function verificaFormatoData(dataStringa) { return moment(dataStringa, 'DD/MM/YYYY', true).isValid(); } let dateObj = []; // Inserisco le 5 date for (let x = 0; x < 5; x++) { let flag = true; while (flag) { const input = readlineSync.question(`Data (dd/MM/yyyy) [${x + 1}]: `); if (verificaFormatoData(input)) { // Aggiungo l'oggetto data dateObj.push(moment(input, 'DD/MM/YYYY').toDate()); flag = false; } else { console.log('Formato data non valido. Riprova.'); } } } // Ordino il vettore con le date in modo crescente dateObj.sort((a, b) => a - b); // Stampo le date ordinate in formato dd/MM/yyyy dateObj.forEach(dataObj => { console.log(moment(dataObj).format('DD/MM/YYYY')); });