Maison >interface Web >js tutoriel >Comment générer un tableau de dates dans une plage donnée en JavaScript ?

Comment générer un tableau de dates dans une plage donnée en JavaScript ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-09 08:12:02301parcourir

How to Generate an Array of Dates Within a Given Range in JavaScript?

Génération d'un tableau de dates dans une plage donnée en JavaScript

En JavaScript, vous pouvez rencontrer le besoin de créer un tableau de dates entre deux dates précisées. Cela peut être une tâche difficile, en particulier lorsqu'il s'agit de limites de mois et d'année.

Pour résoudre ce problème, explorons une solution utilisant l'objet Date de JavaScript.

Extension personnalisée pour l'ajout de jours à une Date

Tout d'abord, nous allons étendre le prototype Date pour inclure une méthode addDays(). Cette méthode prend le nombre de jours à ajouter à la date et renvoie un nouvel objet Date reflétant la date ajustée.

Date.prototype.addDays = function(days) {
    var date = new Date(this.valueOf());
    date.setDate(date.getDate() + days);
    return date;
}

Fonction pour obtenir un tableau de dates

Ensuite, nous définirons une fonction appelée getDates() qui prend deux objets Date comme paramètres : un startDate et un stopDate.

function getDates(startDate, stopDate) {
    var dateArray = new Array();
    var currentDate = startDate;
    while (currentDate <= stopDate) {
        dateArray.push(new Date (currentDate));
        currentDate = currentDate.addDays(1);
    }
    return dateArray;
}

Implémentation

Cette fonction initialise un tableau vide appelé dateArray. Il commence ensuite par startDate et avance d'un jour à la fois en utilisant la méthode addDays() jusqu'à ce qu'il atteigne ou dépasse le stopDate. Pour chaque date valide, il ajoute un nouvel objet Date au dateArray.

Le code suivant démontre l'utilisation de ces fonctions :

var range = getDates(new Date(), new Date().addDays(7));

Ce code crée un tableau d'objets Date représentant la jours entre aujourd'hui et 7 jours à compter d'aujourd'hui, y compris aujourd'hui. La variable range contiendra un tableau d'objets date.

Démo

Vous pouvez essayer cette solution sur http://jsfiddle.net/jfhartsock/cM3ZU/ pour une démo fonctionnelle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn