JavaScript: effettuare semplici calcoli sulle date

JavaScript: effettuare semplici calcoli sulle date

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

Torna su