Obtenir les dates d'une période précédente avec JavaScript

Concept et utilisation

La fonction datesPeriodNext() permet d'obtenir les dates d'une période précédant une période particulière.

Fonction

datesPeriodPrevious()

Retourne les dates de la période précédant une période de référence.

Syntaxe
datesPeriodPrevious(date_debut, date_fin);
Paramètres
date_debut(Date)

Le paramètre date_debut de la fonction datesPeriodPrevious() définit la date de début de la période de référence.

date_fin(Date)

Le paramètre date_fin de la fonction datesPeriodPrevious() définit la date de fin de la période de référence.
Si ce paramètre est omis, la date courante sera utilisée.

Exemple d'obtention d'une période précédant une autre

var date_debut = new Date(1970, 0, 1);
var date_fin = new Date(1970, 0, 3);

datesPeriodPrevious(date_debut, date_fin);

// renvoie : [
//   'Mon Dec 29 1969 00:00:00 GMT+0100 (heure normale d’Europe centrale)',
//   'Wed Dec 31 1969 00:00:00 GMT+0100 (heure normale d’Europe centrale)'
// ]

Code source de la fonction

function datesPeriodPrevious(a, b) {
  var x = new Date(a),
      y = b ? new Date(b) : new Date(),
      u = x.getTime(),
      v = y.getTime(),
      c = u > v ? y : x,
      d = v > v ? x : y,
      e = Math.ceil((c - d) / 86400000) - 1;
  c.setDate(c.getDate() + e);
  d.setDate(d.getDate() + e);
  return [c, d];
}
^