J'essaye d'obtenir une gamme de mois pour insérer dans une requête de CAML, c.-à-d.: 2010-09-01 et 2010-09-30.Date de Javascript
J'ai utilisé le code suivant pour générer ces deux valeurs:
var month = "10/2010";
var monthArray = month.split("/");
var startDate = new Date(monthArray[1], monthArray[0]-1, 1);
var endDate = new Date(startDate);
endDate.setMonth(startDate.getMonth()+1, startDate.getDate()-1);
L'exécution de ce code:
alert("month: " + month +
"\nstartDate: " + startDate.toDateString() +
"\nendDate: " + endDate.toDateString());
génère les dates exactes (la politique d'entreprise nécessite IE7):
---------------------------
Windows Internet Explorer
---------------------------
month: 10/2010
startDate: Fri Oct 1 2010
endDate: Sun Oct 31 2010
---------------------------
OK
---------------------------
Cependant, lorsque je tente d'analyser le format ISO 8601 (pour la requête CAML), je et les mauvaises dates.
var endISO8601 = endDate.getUTCFullYear() + "-" +
endDate.getUTCMonth() + "-" +
endDate.getUTCDate() + "T19:59:00Z";
alert("endDate: " + endDate.toDateString() +
"\nendISO8601: " + endISO8601);
---------------------------
Windows Internet Explorer
---------------------------
endDate: Sun Oct 31 2010
endISO8601: 2010-9-31T19:59:00Z
---------------------------
OK
---------------------------
Je ne suis pas autorisé à utiliser Datejs, malheureusement.
LOL! Merci - j'ai su soustraire 1 quand je construisais la date mais j'ai complètement oublié que j'avais besoin de la rajouter lors de la construction de ma ficelle. –