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.