Maison > Article > interface Web > Incrémenter la date donnée en JavaScript
Dans cet article, nous verrons comment incrémenter une date donnée à l'aide de JavaScript. Tout d’abord, analysons et comprenons le sens de cette phrase. Étant donné une date x = "05-02-2023", nous voulons ajouter y = 7 jours à cette date et imprimer la date résultante "12-02-2023". En tant qu'humains, nous pouvons ajouter manuellement le 5 février à 7 jours et obtenir le résultat. Mais nous avons besoin de JavaScript pour faire cela par programmation.
Nous discuterons de quelques techniques pour ce faire dans cet article.
addDays accepte 2 paramètres, qui sont la date et le nombre de jours à incrémenter. Dans le code ci-dessous, nous ajouterons 7 jours à la date actuelle et imprimerons la date ajoutée sur la console.
function addDays(date, days) { // Function to add Days var result = new Date(date); result.setDate(result.getDate() + days); return result; } let date = new Date(); console.log("Current date is "+date); let incrementedDate = addDays(date, 7); console.log("Increment date is "+incrementedDate);
Current date is Tue Mar 07 2023 11:38:38 GMT+0530 (India Standard Time) Increment date is Tue Mar 14 2023 11:38:38 GMT+0530 (India Standard Time)
La fonction getDate renvoie un entier compris entre 1 et 31, indiquant le jour du mois. Utilisez ensuite la fonction setdate pour définir la valeur de la variable sur une date incrémentielle. Ici, nous ajouterons 14 jours à la date actuelle et afficherons le résultat sur la console. Le nombre de jours accru sera enregistré dans la même variable "date", il n'est donc pas nécessaire d'utiliser une autre variable.
let date = new Date(); console.log("Current date is "+date); date.setDate(date.getDate()+14); console.log("Increment date is "+date);
Current date is Tue Mar 07 2023 11:40:55 GMT+0530 (India Standard Time) Increment date is Tue Mar 21 2023 11:40:55 GMT+0530 (India Standard Time)
Ici, au lieu d'utiliser une fonction intégrée, nous allons créer notre propre fonction pour incrémenter la date. Nous extrayons d’abord les jours entiers du mois, du mois et de l’année à partir de la date donnée et les stockons respectivement sous forme de variables d, m et y. Nous ajoutons ensuite le nombre de jours à la variable d ou day et la reconvertissons au format date au retour. Actuellement, cette fonction a des capacités limitées pour ajouter des jours au-delà d'un mois, mais cela peut tout au plus être modifié ou évité puisqu'une fonction intégrée existe.
function AddDays(start,days){ var d=start.getDate(); var m=start.getMonth()+1; //getMonth returns the index of the month hence +1 is added var y=start.getYear(); //getYear returns the year minus 1900 in the current javascript version, hence 1900 is added to it below var newDate=m+"-"+(d+days)+"-"+(y+1900); return new Date(newDate); } today=new Date(); console.log("The date today is "+today); console.log("The date after 5 days is "+AddDays(today,5));
The date today is Tue Mar 07 2023 11:43:02 GMT+0530 (India Standard Time) The date after 5 days is Sun Mar 12 2023 00:00:00 GMT+0530 (India Standard Time)
On peut souvent voir des sites de commerce électronique utiliser des incréments de jours pour afficher les délais de livraison estimés. Ce délai de livraison n'est généralement pas disponible le dimanche. Les dimanches doivent être exclus lors du calcul des dates de livraison estimées. Les jours fériés peuvent également être exclus.
Voici comment ajouter 7 jours ouvrables à la date actuelle.
function AddWorkingDays(start,days){ // retrieve the index of the start date var d=start.getDay(); var incrementby=days; if(d==0){ // 0 stands for Sunday, if current day is a Sunday then add 1 day incrementby++; } if (d + incrementby >= 6) { //Subtract days in current working week from working days var remainingWorkingDays = incrementby - (5 - d); //Add current working week's weekend incrementby += 2; if (remainingWorkingDays > 5) { //Add two days for every working week by finding out how many weeks are included incrementby += 2 * Math.floor(remainingWorkingDays / 5); //Exclude the final weekend if the remainingWorkingDays is a equal to an exact number of weeks if (remainingWorkingDays % 5 == 0) incrementby -= 2; } } start.setDate(start.getDate() + incrementby); return start; } var today=new Date(); console.log("Current date is "+today); console.log("8 working days later would be "+AddWorkingDays(today,8));
Current date is Tue Mar 07 2023 11:45:58 GMT+0530 (India Standard Time) 8 working days later would be Fri Mar 17 2023 11:45:58 GMT+0530 (India Standard Time)
Toutes les méthodes ci-dessus vous permettent d'ajouter des jours, des mois et même des années à une date donnée. La fonction d'ajout de jours ouvrés est très utile dans l'industrie et peut être utilisée par les plateformes de commerce électronique, les sites de plats à emporter, etc. En plus de ces méthodes, nous pouvons également exploiter la bibliothèque Moment.js, mais cela apportera une complexité inutile au travail. programme.
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!