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);