JavaScript: calcolare la differenza in giorni tra due date

In JavaScript possiamo ottenere la differenza in giorni tra due date.

La soluzione è la seguente:


'use strict';

const differenceBetweenDates = (date1, date2) => {
    const tsDifference = date1.getTime() - date2.getTime();
    return Math.floor(tsDifference / (1000 * 60 * 60 * 24));
};

Gli argomenti date1 e date2 rappresentano due oggetti di tipo Date che rappresentano le date di riferimento con cui si vuole calcolare la differenza.

date1.getTime() e date2.getTime() vengono chiamati per ottenere i timestamp in millisecondi delle due date. I timestamp rappresentano il numero di millisecondi trascorsi dal 1 gennaio 1970 a mezzanotte UTC della data specificata.

La differenza tra i due timestamp viene calcolata sottraendo il timestamp di date2 da quello di date1. Questo restituisce la differenza in millisecondi tra le due date.

La differenza in millisecondi viene quindi divisa per (1000 * 60 * 60 * 24), che corrisponde a 86400000 millisecondi (ovvero il numero di millisecondi in un giorno) per ottenere il numero di giorni.

Math.floor() viene utilizzato per arrotondare il risultato verso il basso all'intero più vicino. Questo è utile perché la differenza in giorni potrebbe avere una parte decimale a causa delle differenze di fuso orario o degli orari estivi. Infine, il risultato viene restituito come output della funzione.

Torna su