JavaScript:
Confronto tra due date

Come fare:

const data1 = new Date('2023-04-01T00:00:00');
const data2 = new Date('2023-04-02T00:00:00');

// Controlla se le date sono uguali
console.log(data1.getTime() === data2.getTime()); // false

// Verifica quale data è precedente
console.log(data1 < data2 ? 'data1 è precedente' : 'data2 è precedente');

// Differenza in millisecondi
console.log(data2 - data1); // 86400000 millisecondi (24 ore)

// Formattazione e confronto come stringhe (AAAA-MM-GG)
console.log(data1.toISOString().split('T')[0] === data2.toISOString().split('T')[0]); // false

Approfondimento:

La comparazione di date è essenziale fin dai primi giorni della programmazione. JavaScript gestisce le date come oggetti Date, che rappresentano un singolo momento nel tempo in millisecondi dal 1° gennaio 1970, una convenzione nota come Time Epoch Unix. Si può confrontare direttamente i millisecondi (usando getTime()), oppure confrontare come stringhe, se si è interessati solo alla data senza l’ora.

Un’alternativa è utilizzare librerie come Moment.js per semplificare la manipolazione delle date, anche se con la moderna API Intl e i miglioramenti a Date, l’uso di librerie esterne sta diminuendo.

La scelta del metodo dipende dal contesto: per la precisione al millisecondo usare getTime(), per confronti semplici di giorni senza tenere conto del tempo, la conversione a stringhe può bastare.

Vedere anche: