Se dovete effettuare semplici calcoli sulle date con JavaScript, usare un'intera libreria è ridondante.
La soluzione seguente aggiunge e sottrae giorni ad una data:
'use strict';
const DateCalc = {
dayMs: 86400000,
add: (days = 1, date = null) => {
let ts = DateCalc.dayMs * days;
let now = (date instanceof Date) ? date.getTime() : Date.now();
let time = now + ts;
return new Date(time);
},
sub: (days = 1, date = null) => {
let ts = DateCalc.dayMs * days;
let now = (date instanceof Date) ? date.getTime() : Date.now();
let time = now - ts;
return new Date(time);
}
};
Esempio d'uso:
console.log('Default usage');
console.log(DateCalc.add());
console.log(DateCalc.sub());
console.log('Using days');
console.log(DateCalc.add(7));
console.log(DateCalc.sub(7));
console.log('Using days and dates');
console.log(DateCalc.add(7, new Date('2018-11-08')));
console.log(DateCalc.sub(7, new Date('2018-11-08')));
Output:
Default usage
2018-12-09T09:37:49.734Z
2018-12-07T09:37:49.735Z
Using days
2018-12-15T09:37:49.735Z
2018-12-01T09:37:49.735Z
Using days and dates
2018-11-15T00:00:00.000Z
2018-11-01T00:00:00.000Z