Date de prépopulation d'entrée HTML

Je redécouvre HTML après un certain temps.

J'utilise juste HTML et javascript avec Salesforce. J'ai deux champs de saisie de date. J'étais curieux de voir s'il y avait un moyen simple de remplir ces champs avec: a. Date d'aujourd'hui b. Date 6 mois avant aujourd'hui.

<input type="text" id="toDate" size="10" onmouseover="initialiseCalendar(this, 'toDate')"/> 

Merci, Calvin

Populairement avec la date d'aujourd'hui:

 var today = new Date(); document.getElementById("toDate").value = today.getFullYear() + "-" + String(today.getMonth() + 101).slice(-2) + "-" + String(today.getDate() + 100).slice(-2); 

6 mois dans le passé:

 var past = new Date(); past.setMonth(past.getMonth() - 6); // document.getElementById("toOldDate").value = past.getFullYear() + "-" + String(past.getMonth() + 101).slice(-2) + "-" + String(past.getDate() + 100).slice(-2); 

Le JavaScript suivant définit la value de votre zone de texte à la date d'aujourd'hui, au format aaaa-mm-jj. Voyez comment j'ajoute 1 au mois? getMonth() renvoie 0-11 pour le mois courant, donc 1 y est ajouté:

 var today = new Date(); document.getElementById("toDate").value = today.getFullYear() + "-" + parseInt(today.getMonth()+1) + "-" + ​​​​​​today.getDate();​​​​​ 

DEMO: Fiddle

Il convient toutefois de noter que si le mois ou le jour est inférieur à 10, vous n'obtiendrez qu'un chiffre pour chacun d'eux. Faites-moi savoir si c'est un problème.

EDIT: Pour obtenir 6 mois à partir de aujourd'hui, utilisez:

 var today = new Date(); var past = today.setMonth(today.getMonth() - 6);