voila ci joint un bout de code de test, quelqu'un peut il m'expliquer
pourquoi lors de la creation d'une date JS a l'aide des setters ,
l'ordre de definition est important ?
l'exemple suivant, devrait a mon avis retourner 3 fois la meme date dans
tous les cas, et bien non, le 3eme retour annonce 1 mois de plus si on
defini une date en fevrier.
C'est moi qui ai 5 trains de retard ? c'est un bug connu ?
function dateFromString(datestring)
{
var parts = datestring.split('-');
var iday = parts[2];
var imonth = parseInt(parts[1]) - 1;
var iyear = parts[0];
var str = '';
str += "init string date is: " + datestring + "\n\n";
str += "Day is: " + iday + ", jsMonth is: " + imonth + ", Year is:
" + iyear + "\n\n";
str += "Date from constructor: " + new Date(iyear, imonth, iday) +
"\n\n";
var d1 = new Date();
d1.setDate(iday);
d1.setMonth(imonth);
d1.setFullYear(iyear);
str += 'Date 1 ok: ' + d1 + "\n\n";
var d2 = new Date();
d2.setFullYear(iyear);
d2.setMonth(imonth);
d2.setDate(iday);
voila ci joint un bout de code de test, quelqu'un peut il m'expliquer pourquoi lors de la creation d'une date JS a l'aide des setters , l'ordre de definition est important ?
l'exemple suivant, devrait a mon avis retourner 3 fois la meme date dans tous les cas, et bien non, le 3eme retour annonce 1 mois de plus si on defini une date en fevrier. C'est moi qui ai 5 trains de retard ? c'est un bug connu ?
function dateFromString(datestring) { var parts = datestring.split('-'); var iday = parts[2]; var imonth = parseInt(parts[1]) - 1; var iyear = parts[0];
var str = '';
str += "init string date is: " + datestring + "nn"; str += "Day is: " + iday + ", jsMonth is: " + imonth + ", Year is: " + iyear + "nn";
str += "Date from constructor: " + new Date(iyear, imonth, iday) + "nn";
var d1 = new Date(); d1.setDate(iday); d1.setMonth(imonth); d1.setFullYear(iyear); str += 'Date 1 ok: ' + d1 + "nn";
var d2 = new Date(); d2.setFullYear(iyear); d2.setMonth(imonth); d2.setDate(iday);
Chez moi tout est ok, il affiche bien 3 fois la même date
Bonjour,
voila ci joint un bout de code de test, quelqu'un peut il m'expliquer
pourquoi lors de la creation d'une date JS a l'aide des setters ,
l'ordre de definition est important ?
l'exemple suivant, devrait a mon avis retourner 3 fois la meme date dans
tous les cas, et bien non, le 3eme retour annonce 1 mois de plus si on
defini une date en fevrier.
C'est moi qui ai 5 trains de retard ? c'est un bug connu ?
function dateFromString(datestring)
{
var parts = datestring.split('-');
var iday = parts[2];
var imonth = parseInt(parts[1]) - 1;
var iyear = parts[0];
var str = '';
str += "init string date is: " + datestring + "nn";
str += "Day is: " + iday + ", jsMonth is: " + imonth + ", Year is: "
+ iyear + "nn";
str += "Date from constructor: " + new Date(iyear, imonth, iday) +
"nn";
var d1 = new Date();
d1.setDate(iday);
d1.setMonth(imonth);
d1.setFullYear(iyear);
str += 'Date 1 ok: ' + d1 + "nn";
var d2 = new Date();
d2.setFullYear(iyear);
d2.setMonth(imonth);
d2.setDate(iday);
voila ci joint un bout de code de test, quelqu'un peut il m'expliquer pourquoi lors de la creation d'une date JS a l'aide des setters , l'ordre de definition est important ?
l'exemple suivant, devrait a mon avis retourner 3 fois la meme date dans tous les cas, et bien non, le 3eme retour annonce 1 mois de plus si on defini une date en fevrier. C'est moi qui ai 5 trains de retard ? c'est un bug connu ?
function dateFromString(datestring) { var parts = datestring.split('-'); var iday = parts[2]; var imonth = parseInt(parts[1]) - 1; var iyear = parts[0];
var str = '';
str += "init string date is: " + datestring + "nn"; str += "Day is: " + iday + ", jsMonth is: " + imonth + ", Year is: " + iyear + "nn";
str += "Date from constructor: " + new Date(iyear, imonth, iday) + "nn";
var d1 = new Date(); d1.setDate(iday); d1.setMonth(imonth); d1.setFullYear(iyear); str += 'Date 1 ok: ' + d1 + "nn";
var d2 = new Date(); d2.setFullYear(iyear); d2.setMonth(imonth); d2.setDate(iday);
Chez moi tout est ok, il affiche bien 3 fois la même date
Pareil. Je te conseille toutefois, pour éviter des mauvaises surprises, de remplacer :
var imonth = parseInt(parts[1]) - 1; par var imonth = parseInt(parts[1],10) - 1;
-- ______ Francis (enlever .NIPUBNISOUMIS) "La dinde est tolérante, mais elle déteste les farceurs"
xav
Saad Saad avait énoncé :
Salut,
Chez moi tout est ok, il affiche bien 3 fois la même date
Pareil. Je te conseille toutefois, pour éviter des mauvaises surprises, de remplacer :
var imonth = parseInt(parts[1]) - 1; par var imonth = parseInt(parts[1],10) - 1;
Salut, et merci de vos reponses, je viens de retester mon script today,
et effectivement, pas d'erreur, par contre, alors ca semble encore plus vicieux que ca... le jour ou j'ai fais ces tests, j'avais modifié l'horloge de mon windows a la date du 29/12/2006, si maintenant, je remodifie ma date systeme pour une date superieure au 28/12/2006 alors le bug reapparait...
Pouvez vous essayer de modifier la date windows et me dire si vous avez le meme comportement ?
A+ xavier
Saad Saad avait énoncé :
Salut,
Chez moi tout est ok,
il affiche bien 3 fois la même date
Pareil. Je te conseille toutefois, pour éviter des mauvaises surprises,
de remplacer :
var imonth = parseInt(parts[1]) - 1;
par
var imonth = parseInt(parts[1],10) - 1;
Salut, et merci de vos reponses, je viens de retester mon script today,
et effectivement, pas d'erreur, par contre, alors ca semble encore plus
vicieux que ca...
le jour ou j'ai fais ces tests, j'avais modifié l'horloge de mon windows
a la date du 29/12/2006, si maintenant, je remodifie ma date systeme
pour une date superieure au 28/12/2006 alors le bug reapparait...
Pouvez vous essayer de modifier la date windows et me dire si vous avez
le meme comportement ?
Chez moi tout est ok, il affiche bien 3 fois la même date
Pareil. Je te conseille toutefois, pour éviter des mauvaises surprises, de remplacer :
var imonth = parseInt(parts[1]) - 1; par var imonth = parseInt(parts[1],10) - 1;
Salut, et merci de vos reponses, je viens de retester mon script today,
et effectivement, pas d'erreur, par contre, alors ca semble encore plus vicieux que ca... le jour ou j'ai fais ces tests, j'avais modifié l'horloge de mon windows a la date du 29/12/2006, si maintenant, je remodifie ma date systeme pour une date superieure au 28/12/2006 alors le bug reapparait...
Pouvez vous essayer de modifier la date windows et me dire si vous avez le meme comportement ?
A+ xavier
Olivier Miakinen
voila ci joint un bout de code de test, quelqu'un peut il m'expliquer pourquoi lors de la creation d'une date JS a l'aide des setters , l'ordre de definition est important ?
l'exemple suivant, devrait a mon avis retourner 3 fois la meme date dans tous les cas, et bien non, le 3eme retour annonce 1 mois de plus si on defini une date en fevrier. C'est moi qui ai 5 trains de retard ? c'est un bug connu ?
:-D
C'est très logique, si le jour où tu as fait le test était un 29, 30 ou 31 du mois !
Merci d'avance d'éclairer ma lanterne.
Supposons que c'était le 30 mai dernier, et voyons ce que fait ton code, par exemple pour le 14 février 2007.
var d2 = new Date();
d2 = 30 mai 2006
d2.setFullYear(2007);
d2 = 30 mai 2007
d2.setMonth(2);
d2 = 30 février 2007
Mais comme en 2007 le mois de février n'aura que 28 jours, la date est recalculée :
d2 = 2 mars 2007
d2.setDate(14);
d2 = 14 mars 2007
Et voilà !
Note que ton deuxième code présente le même genre de problème, mais pour d'autres dates. Par exemple, si tu veux mettre une date au 31 décembre 2007 alors que la date courante est le 30 juin 2006 :
var d1 = new Date();
d1 = 30 juin 2007
d1.setDate(31);
d1 = 31 juin 2006
Mais comme le mois de juin ne compte que 30 jours, la date est recalculée :
d1 = 1er juillet 2006
d1.setMonth(12);
d1 = 1er décembre 2006
d1.setFullYear(2007);
d1 = 1er décembre 2007
Ce coup-ci, c'est le jour du mois qui est mauvais.
Cordialement, -- Olivier Miakinen Troll du plus sage chez les conviviaux : le nouveau venu, avec son clan, s'infiltre dans les groupes de nouvelles. (3 c.)
voila ci joint un bout de code de test, quelqu'un peut il m'expliquer
pourquoi lors de la creation d'une date JS a l'aide des setters ,
l'ordre de definition est important ?
l'exemple suivant, devrait a mon avis retourner 3 fois la meme date dans
tous les cas, et bien non, le 3eme retour annonce 1 mois de plus si on
defini une date en fevrier.
C'est moi qui ai 5 trains de retard ? c'est un bug connu ?
:-D
C'est très logique, si le jour où tu as fait le test était un 29, 30 ou
31 du mois !
Merci d'avance d'éclairer ma lanterne.
Supposons que c'était le 30 mai dernier, et voyons ce que fait ton code,
par exemple pour le 14 février 2007.
var d2 = new Date();
d2 = 30 mai 2006
d2.setFullYear(2007);
d2 = 30 mai 2007
d2.setMonth(2);
d2 = 30 février 2007
Mais comme en 2007 le mois de février n'aura que 28 jours, la date est
recalculée :
d2 = 2 mars 2007
d2.setDate(14);
d2 = 14 mars 2007
Et voilà !
Note que ton deuxième code présente le même genre de problème, mais pour
d'autres dates. Par exemple, si tu veux mettre une date au 31 décembre
2007 alors que la date courante est le 30 juin 2006 :
var d1 = new Date();
d1 = 30 juin 2007
d1.setDate(31);
d1 = 31 juin 2006
Mais comme le mois de juin ne compte que 30 jours, la date est recalculée :
d1 = 1er juillet 2006
d1.setMonth(12);
d1 = 1er décembre 2006
d1.setFullYear(2007);
d1 = 1er décembre 2007
Ce coup-ci, c'est le jour du mois qui est mauvais.
Cordialement,
--
Olivier Miakinen
Troll du plus sage chez les conviviaux : le nouveau venu, avec
son clan, s'infiltre dans les groupes de nouvelles. (3 c.)
voila ci joint un bout de code de test, quelqu'un peut il m'expliquer pourquoi lors de la creation d'une date JS a l'aide des setters , l'ordre de definition est important ?
l'exemple suivant, devrait a mon avis retourner 3 fois la meme date dans tous les cas, et bien non, le 3eme retour annonce 1 mois de plus si on defini une date en fevrier. C'est moi qui ai 5 trains de retard ? c'est un bug connu ?
:-D
C'est très logique, si le jour où tu as fait le test était un 29, 30 ou 31 du mois !
Merci d'avance d'éclairer ma lanterne.
Supposons que c'était le 30 mai dernier, et voyons ce que fait ton code, par exemple pour le 14 février 2007.
var d2 = new Date();
d2 = 30 mai 2006
d2.setFullYear(2007);
d2 = 30 mai 2007
d2.setMonth(2);
d2 = 30 février 2007
Mais comme en 2007 le mois de février n'aura que 28 jours, la date est recalculée :
d2 = 2 mars 2007
d2.setDate(14);
d2 = 14 mars 2007
Et voilà !
Note que ton deuxième code présente le même genre de problème, mais pour d'autres dates. Par exemple, si tu veux mettre une date au 31 décembre 2007 alors que la date courante est le 30 juin 2006 :
var d1 = new Date();
d1 = 30 juin 2007
d1.setDate(31);
d1 = 31 juin 2006
Mais comme le mois de juin ne compte que 30 jours, la date est recalculée :
d1 = 1er juillet 2006
d1.setMonth(12);
d1 = 1er décembre 2006
d1.setFullYear(2007);
d1 = 1er décembre 2007
Ce coup-ci, c'est le jour du mois qui est mauvais.
Cordialement, -- Olivier Miakinen Troll du plus sage chez les conviviaux : le nouveau venu, avec son clan, s'infiltre dans les groupes de nouvelles. (3 c.)
Francis Spiesser
Olivier Miakinen a exposé le 26/06/2006 :
C'est très logique, si le jour où tu as fait le test était un 29, 30 ou 31 du mois !
Merci d'avance d'éclairer ma lanterne.
Supposons que c'était le 30 mai dernier, et voyons ce que fait ton code, par exemple pour le 14 février 2007.
var d2 = new Date();
d2 = 30 mai 2006
d2.setFullYear(2007);
d2 = 30 mai 2007
d2.setMonth(2);
d2 = 30 février 2007
Mais comme en 2007 le mois de février n'aura que 28 jours, la date est recalculée :
d2 = 2 mars 2007
d2.setDate(14);
d2 = 14 mars 2007
Et voilà !
J'aillais le dire mais mon message a été refusé parce que j'avais oublié de me remettre à la bonne date ;-)
-- ______ Francis (enlever .NIPUBNISOUMIS) "Tout corps plongé dans la baignoire fait sonner le téléphone"
Olivier Miakinen a exposé le 26/06/2006 :
C'est très logique, si le jour où tu as fait le test était un 29, 30 ou
31 du mois !
Merci d'avance d'éclairer ma lanterne.
Supposons que c'était le 30 mai dernier, et voyons ce que fait ton code,
par exemple pour le 14 février 2007.
var d2 = new Date();
d2 = 30 mai 2006
d2.setFullYear(2007);
d2 = 30 mai 2007
d2.setMonth(2);
d2 = 30 février 2007
Mais comme en 2007 le mois de février n'aura que 28 jours, la date est
recalculée :
d2 = 2 mars 2007
d2.setDate(14);
d2 = 14 mars 2007
Et voilà !
J'aillais le dire mais mon message a été refusé parce que j'avais
oublié de me remettre à la bonne date ;-)
--
______
Francis (enlever .NIPUBNISOUMIS)
"Tout corps plongé dans la baignoire fait sonner le téléphone"
J'allais le dire mais mon message a été refusé parce que j'avais oublié de me remettre à la bonne date ;-)
:-D
-- Olivier Miakinen Troll du plus sage chez les conviviaux : le nouveau venu, avec son clan, s'infiltre dans les groupes de nouvelles. (3 c.)
Cenekemoi
C'est très logique, si le jour où tu as fait le test était un 29, 30 ou 31 du mois !
Merci d'avance d'éclairer ma lanterne.
Supposons que c'était le 30 mai dernier, et voyons ce que fait ton code, par exemple pour le 14 février 2007.
var d2 = new Date();
d2 = 30 mai 2006
d2.setFullYear(2007);
d2 = 30 mai 2007
d2.setMonth(2);
d2 = 30 février 2007
non, non, le paramètre de "setMonth()" va de 0 à 11 ! Il en est de même, d'ailleurs pour "getMonth()". Donc :
d2 = 30 mars 2007
d'où le :
d2 = 14 mars 2007 ensuite...
Note que ton deuxième code présente le même genre de problème, mais pour d'autres dates. Par exemple, si tu veux mettre une date au 31 décembre 2007 alors que la date courante est le 30 juin 2006 :
var d1 = new Date();
d1 = 30 juin 2007
d1.setDate(31);
d1 = 31 juin 2006
Mais comme le mois de juin ne compte que 30 jours, la date est recalculée :
d1 = 1er juillet 2006
Là nous sommes bien d'accord...
d1.setMonth(12);
d1 = 1er décembre 2006
Je pencherais plus pour :
d1 = 1er janvier 2006 (ou 2007)
Ceci dit, Olivier a parfaitement raison quand au fait que, par exemple, un "32 janvier" donnera un 1er février !
D'où l'algo (béton) suivant que j'utilise pour vérifier qu'une date est valide :
<script> function isDateValide(Year,Month,Day) { var dDate=new Date(Year,Month-1,Day); return ( dDate.getFullYear()==Year && dDate.getMonth()==Month-1 && dDate.getDate()=Úy ) }
</script>
simple, mais très efficace...
-- Cordialement, Thierry ;-)
C'est très logique, si le jour où tu as fait le test était un 29, 30
ou 31 du mois !
Merci d'avance d'éclairer ma lanterne.
Supposons que c'était le 30 mai dernier, et voyons ce que fait ton
code, par exemple pour le 14 février 2007.
var d2 = new Date();
d2 = 30 mai 2006
d2.setFullYear(2007);
d2 = 30 mai 2007
d2.setMonth(2);
d2 = 30 février 2007
non, non, le paramètre de "setMonth()" va de 0 à 11 ! Il en est de même,
d'ailleurs pour "getMonth()". Donc :
d2 = 30 mars 2007
d'où le :
d2 = 14 mars 2007 ensuite...
Note que ton deuxième code présente le même genre de problème, mais
pour d'autres dates. Par exemple, si tu veux mettre une date au 31
décembre 2007 alors que la date courante est le 30 juin 2006 :
var d1 = new Date();
d1 = 30 juin 2007
d1.setDate(31);
d1 = 31 juin 2006
Mais comme le mois de juin ne compte que 30 jours, la date est
recalculée :
d1 = 1er juillet 2006
Là nous sommes bien d'accord...
d1.setMonth(12);
d1 = 1er décembre 2006
Je pencherais plus pour :
d1 = 1er janvier 2006 (ou 2007)
Ceci dit, Olivier a parfaitement raison quand au fait que, par exemple,
un "32 janvier" donnera un 1er février !
D'où l'algo (béton) suivant que j'utilise pour vérifier qu'une date est
valide :
<script>
function isDateValide(Year,Month,Day) {
var dDate=new Date(Year,Month-1,Day);
return ( dDate.getFullYear()==Year && dDate.getMonth()==Month-1 &&
dDate.getDate()=Úy )
}
C'est très logique, si le jour où tu as fait le test était un 29, 30 ou 31 du mois !
Merci d'avance d'éclairer ma lanterne.
Supposons que c'était le 30 mai dernier, et voyons ce que fait ton code, par exemple pour le 14 février 2007.
var d2 = new Date();
d2 = 30 mai 2006
d2.setFullYear(2007);
d2 = 30 mai 2007
d2.setMonth(2);
d2 = 30 février 2007
non, non, le paramètre de "setMonth()" va de 0 à 11 ! Il en est de même, d'ailleurs pour "getMonth()". Donc :
d2 = 30 mars 2007
d'où le :
d2 = 14 mars 2007 ensuite...
Note que ton deuxième code présente le même genre de problème, mais pour d'autres dates. Par exemple, si tu veux mettre une date au 31 décembre 2007 alors que la date courante est le 30 juin 2006 :
var d1 = new Date();
d1 = 30 juin 2007
d1.setDate(31);
d1 = 31 juin 2006
Mais comme le mois de juin ne compte que 30 jours, la date est recalculée :
d1 = 1er juillet 2006
Là nous sommes bien d'accord...
d1.setMonth(12);
d1 = 1er décembre 2006
Je pencherais plus pour :
d1 = 1er janvier 2006 (ou 2007)
Ceci dit, Olivier a parfaitement raison quand au fait que, par exemple, un "32 janvier" donnera un 1er février !
D'où l'algo (béton) suivant que j'utilise pour vérifier qu'une date est valide :
<script> function isDateValide(Year,Month,Day) { var dDate=new Date(Year,Month-1,Day); return ( dDate.getFullYear()==Year && dDate.getMonth()==Month-1 && dDate.getDate()=Úy ) }
</script>
simple, mais très efficace...
-- Cordialement, Thierry ;-)
Olivier Miakinen
d2.setMonth(2);
d2 = 30 février 2007
C'était bien sûr setMonth(1) pour le mois de février (pareil pour mon deuxième exemple). Mais bon, tu avais correctement fait « - 1 » dans ton code et ton problème ne venait pas de là.
Mais comme en 2007 le mois de février n'aura que 28 jours, la date est recalculée :
Je précise que ceci n'est pas un bug, et qu'il peut être très utile de pouvoir préciser des numéros de jours ou de mois en dehors des plages normales. Par exemple, tu peux ainsi calculer la date qu'il sera dans 7 jours ou dans 14 jours, ou bien la date qu'il était il y a deux mois. Au passage, un moyen parmi tant d'autres pour savoir si une année est bissextile ou non, c'est de construire la date du 0 mars de l'année, puis de voir après recalcul si c'est le 28 ou le 29 février.
-- Olivier Miakinen Troll du plus sage chez les conviviaux : le nouveau venu, avec son clan, s'infiltre dans les groupes de nouvelles. (3 c.)
d2.setMonth(2);
d2 = 30 février 2007
C'était bien sûr setMonth(1) pour le mois de février (pareil pour mon
deuxième exemple). Mais bon, tu avais correctement fait « - 1 » dans ton
code et ton problème ne venait pas de là.
Mais comme en 2007 le mois de février n'aura que 28 jours, la date est
recalculée :
Je précise que ceci n'est pas un bug, et qu'il peut être très utile de
pouvoir préciser des numéros de jours ou de mois en dehors des plages
normales. Par exemple, tu peux ainsi calculer la date qu'il sera dans 7
jours ou dans 14 jours, ou bien la date qu'il était il y a deux mois.
Au passage, un moyen parmi tant d'autres pour savoir si une année est
bissextile ou non, c'est de construire la date du 0 mars de l'année,
puis de voir après recalcul si c'est le 28 ou le 29 février.
--
Olivier Miakinen
Troll du plus sage chez les conviviaux : le nouveau venu, avec
son clan, s'infiltre dans les groupes de nouvelles. (3 c.)
C'était bien sûr setMonth(1) pour le mois de février (pareil pour mon deuxième exemple). Mais bon, tu avais correctement fait « - 1 » dans ton code et ton problème ne venait pas de là.
Mais comme en 2007 le mois de février n'aura que 28 jours, la date est recalculée :
Je précise que ceci n'est pas un bug, et qu'il peut être très utile de pouvoir préciser des numéros de jours ou de mois en dehors des plages normales. Par exemple, tu peux ainsi calculer la date qu'il sera dans 7 jours ou dans 14 jours, ou bien la date qu'il était il y a deux mois. Au passage, un moyen parmi tant d'autres pour savoir si une année est bissextile ou non, c'est de construire la date du 0 mars de l'année, puis de voir après recalcul si c'est le 28 ou le 29 février.
-- Olivier Miakinen Troll du plus sage chez les conviviaux : le nouveau venu, avec son clan, s'infiltre dans les groupes de nouvelles. (3 c.)
xav
C'est très logique, si le jour où tu as fait le test était un 29, 30 ou 31 du mois !
Yep...
Merci de vos reponses, c'est vrai que finalement c'est trés logique... je n'y avais pas pensé.
A+ xavier
C'est très logique, si le jour où tu as fait le test était un 29, 30 ou
31 du mois !
Yep...
Merci de vos reponses, c'est vrai que finalement c'est trés logique...
je n'y avais pas pensé.
C'est très logique, si le jour où tu as fait le test était un 29, 30 ou 31 du mois !
Yep...
Merci de vos reponses, c'est vrai que finalement c'est trés logique... je n'y avais pas pensé.
A+ xavier
Dr John Stockton
JRS: En article <449f8ca9$0$1029$, datee Mon, 26 Jun 2006 09:28:38 remote, vu en news:fr.comp.lang.javascript, xav
voila ci joint un bout de code de test, quelqu'un peut il m'expliquer pourquoi lors de la creation d'une date JS a l'aide des setters , l'ordre de definition est important ?
C'est important, si la methode est mauvaise.
Lisez s.v.p. <URL:http://www.jibbering.com/faq/> et mes pages <URL:http://www.merlyn.demon.co.uk/js-dates.htm> ff. et aussi <URL:http://www.merlyn.demon.co.uk/js-index.htm> ff. ?
var imonth = parseInt(parts[1]) - 1;
Si parts[1] est '08' ou '09', imonth sera -1. On peut utiliser parseInt(X, 10), ou
var imonth = '08' - 1; // OK
Souvent, pour X etant String, apres X = +x X sera un Number.
JRS: En article <449f8ca9$0$1029$ba4acef3@news.orange.fr>, datee Mon,
26 Jun 2006 09:28:38 remote, vu en news:fr.comp.lang.javascript, xav
voila ci joint un bout de code de test, quelqu'un peut il m'expliquer
pourquoi lors de la creation d'une date JS a l'aide des setters ,
l'ordre de definition est important ?
C'est important, si la methode est mauvaise.
Lisez s.v.p. <URL:http://www.jibbering.com/faq/> et mes pages
<URL:http://www.merlyn.demon.co.uk/js-dates.htm> ff. et aussi
<URL:http://www.merlyn.demon.co.uk/js-index.htm> ff. ?
var imonth = parseInt(parts[1]) - 1;
Si parts[1] est '08' ou '09', imonth sera -1. On peut utiliser
parseInt(X, 10), ou
var imonth = '08' - 1; // OK
Souvent, pour X etant String, apres X = +x X sera un Number.
JRS: En article <449f8ca9$0$1029$, datee Mon, 26 Jun 2006 09:28:38 remote, vu en news:fr.comp.lang.javascript, xav
voila ci joint un bout de code de test, quelqu'un peut il m'expliquer pourquoi lors de la creation d'une date JS a l'aide des setters , l'ordre de definition est important ?
C'est important, si la methode est mauvaise.
Lisez s.v.p. <URL:http://www.jibbering.com/faq/> et mes pages <URL:http://www.merlyn.demon.co.uk/js-dates.htm> ff. et aussi <URL:http://www.merlyn.demon.co.uk/js-index.htm> ff. ?
var imonth = parseInt(parts[1]) - 1;
Si parts[1] est '08' ou '09', imonth sera -1. On peut utiliser parseInt(X, 10), ou
var imonth = '08' - 1; // OK
Souvent, pour X etant String, apres X = +x X sera un Number.