J'apprécierais vraiment de l'aide pour créer du code JavaScript qui sera éventuellement utilisé dans Selenium, qui définit automatiquement une date à 10 jours de la date du jour et s'affiche au format jj/mm/aaaa suivant.
J'ai actuellement le script ci-dessous, mais je ne vais nulle part avec:
var myDate=new Date();
myDate.now.format(myDate.setDate(myDate.getDate()+5),("dd/mm/yyyy");
Toute aide serait très appréciée.
Voici un exemple d'obtention de la date future ...
var targetDate = new Date();
targetDate.setDate(targetDate.getDate() + 10);
// So you can see the date we have created
alert(targetDate);
var dd = targetDate.getDate();
var mm = targetDate.getMonth() + 1; // 0 is January, so we must add 1
var yyyy = targetDate.getFullYear();
var dateString = dd + "/" + mm + "/" + yyyy;
// So you can see the output
alert(dateString);
Il existe des moyens plus gracieux de formater les dates. Vous trouverez des exemples aux destinations suivantes:
http://www.west-wind.com/Weblog/posts/282495.aspx
http://www.svendtofte.com/javascript/javascript-date-string-formatting/
Essayer:
new Date(Date.now() + (1000 /*sec*/ * 60 /*min*/ * 60 /*hour*/ * 24 /*day*/ * 10))
J'avais besoin de faire quelque chose comme ça, mais j'avais besoin du résultat en ligne. C'est donc ce qui a fonctionné pour moi pour obtenir la date dans 10 jours:
new Date((new Date()).getTime() + (10 * 86400000))
Ce que je voudrais faire, c'est créer un objet DateHelper
personnalisé qui ressemble à ceci:
var DateHelper = {
addDays : function(aDate, numberOfDays) {
aDate.setDate(aDate.getDate() + numberOfDays); // Add numberOfDays
return aDate; // Return the date
},
format : function format(date) {
return [
("0" + date.getDate()).slice(-2), // Get day and pad it with zeroes
("0" + (date.getMonth()+1)).slice(-2), // Get month and pad it with zeroes
date.getFullYear() // Get full year
].join('/'); // Glue the pieces together
}
}
// With this helper, you can now just use one line of readable code to :
// ---------------------------------------------------------------------
// 1. Get the current date
// 2. Add 10 days
// 3. Format it
// 4. Output it
// ---------------------------------------------------------------------
document.body.innerHTML = DateHelper.format(DateHelper.addDays(new Date(), 10));
(voir aussi this Fiddle )
J'avais besoin d'avoir l'année à venir en ajoutant des mois:
var duration = 13;
var month = 11;
var year = 2018;
var final_year = new Date(year, month + duration);
document.body.innerHTML = final_year.getFullYear();
Le sujet de cette page originale date de 2010. J'ai donc ajouté cette réponse en août 2017. Il s'agit d'une solution simple qui fonctionne bien pour créer une plage date défilante en fonction de la date actuelle.
Par exemple: Si aujourd'hui est le 28 août 2017 et que vous souhaitez une date de début de -7 jours dans le passé et une date future de 23 jours à l'avenir, le code JavaScript suivant générera une chaîne de plage de dates de: 21 août au 20 septembre 2017
Puis le lendemain, le 29 août 2017, la plage de dates sera la suivante: du 22 août au 21 septembre 2017
Remarque: si nécessaire, vous pouvez modifier le code pour rendre la date de début ou la date future statiques.
Pour l'utiliser en code HTML:
L'événement a lieu: <script>document.write(dateRange)</script>
donnera:
L'événement a lieu: du 21 août au 20 septembre 2017
var month = new Array();
month[0] = "January";
month[1] = "February";
month[2] = "March";
month[3] = "April";
month[4] = "May";
month[5] = "June";
month[6] = "July";
month[7] = "August";
month[8] = "September";
month[9] = "October";
month[10] = "November";
month[11] = "December";
var startDate = new Date();
startDate.setDate(startDate.getDate() -7 );
var futureDate = new Date();
futureDate.setDate(futureDate.getDate() + 23);
var m1 = month[startDate.getMonth()];
var d1 = startDate.getDate();
var y1 = startDate.getFullYear();
var m2 = month[futureDate.getMonth()];
var d2 = futureDate.getDate();
var y2 = futureDate.getFullYear();
var dateRange = m1 + ' ' + d1 + ' thru ' + m2 + ' ' + d2 + ', ' + y2;
// alert(dateRange); use alert function to test the date range