Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Calendrier

4 réponses
Avatar
Gloops
Bonjour tout le monde,

J'ai l'impression de me heurter à un problème de manque de précision
quant à la définition du calendrier utilisé.

Entendons-nous bien, je ne parle pas d'interface utilisateur, mais de
l'objet permettant de gérer des dates par la déclaration

Dt = new Date();

A toutes fins utiles, je précise que je travaille avec jquery dans un
site MVC, et que je retouche la fonction de validation d'intervalle pour
pouvoir gérer non un intervalle d'entiers, mais un intervalle de dates.

A ce stade, quelque part dans la fonction j'ai introduit ce code :

alert(element.attributes["data-val-range-min"].value);
param[0] = new Date(element.attributes["data-val-range-min"].value);
//alert(element.attributes["data-val-range-max"].value);
param[1] = new Date(element.attributes["data-val-range-max"].value);
alert('param0 : ' + param[0]);
alert(param[0].getYear());
alert(param[1].getYear());

J'ai fait un travail là-dessus il y a deux ans, dont j'ai perdu quelques
parties, et je reviens dessus. Quelque part, vraisemblablement dans une
doc MVC, m'a été conseillé de mettre comme date minimale le 1er janvier
1713, du fait qu'une date antérieure poserait des problèmes car ne
serait pas reconnue comme date.

Dans param[0] j'obtiens :

Sun Jan 01 1713 00:00:00 GMT+0100

Jusque là ça se passe bien, n'est-ce pas ?

Là où ça se gâte, c'est que pour param[0].getYear(), j'obtiens -187,
alors que je m'attends à obtenir 1713. Il semblerait donc que j'aie un
calendrier qui commence à 1900 et non 1713.

La question qui semble se poser est donc : où effectuer ce choix ? Si
toutefois j'ai le choix ... Bon alors peut-être un autre intitulé pour
la question : comment retomber sur mes pieds ?

Je développe sur une machine avec Windows XP SP3, en utilisant Ms Visual
Web Developer Express et .Net 4. Je me suis dit que c'était une question
Javascript, mais peut-être que je me trompe ?

4 réponses

Avatar
Gloops
Le 27/02/2015 14:23, Gloops a écrit :
Bonjour tout le monde,

J'ai l'impression de me heurter à un problème de manque de précision
quant à la définition du calendrier utilisé.

Entendons-nous bien, je ne parle pas d'interface utilisateur, mais de
l'objet permettant de gérer des dates par la déclaration

Dt = new Date();

A toutes fins utiles, je précise que je travaille avec jquery dans un
site MVC, et que je retouche la fonction de validation d'intervalle pour
pouvoir gérer non un intervalle d'entiers, mais un intervalle de dates.

A ce stade, quelque part dans la fonction j'ai introduit ce code :

alert(element.attributes["data-val-range-min"].value);
param[0] = new Date(element.attributes["data-val-range-min"].value);
//alert(element.attributes["data-val-range-max"].value);
param[1] = new Date(element.attributes["data-val-range-max"].value);
alert('param0 : ' + param[0]);
alert(param[0].getYear());
alert(param[1].getYear());

J'ai fait un travail là-dessus il y a deux ans, dont j'ai perdu quelques
parties, et je reviens dessus. Quelque part, vraisemblablement dans une
doc MVC, m'a été conseillé de mettre comme date minimale le 1er janvier
1713, du fait qu'une date antérieure poserait des problèmes car ne
serait pas reconnue comme date.

Dans param[0] j'obtiens :

Sun Jan 01 1713 00:00:00 GMT+0100

Jusque là ça se passe bien, n'est-ce pas ?

Là où ça se gâte, c'est que pour param[0].getYear(), j'obtiens -187,
alors que je m'attends à obtenir 1713. Il semblerait donc que j'aie un
calendrier qui commence à 1900 et non 1713.

La question qui semble se poser est donc : où effectuer ce choix ? Si
toutefois j'ai le choix ... Bon alors peut-être un autre intitulé pour
la question : comment retomber sur mes pieds ?

Je développe sur une machine avec Windows XP SP3, en utilisant Ms Visual
Web Developer Express et .Net 4. Je me suis dit que c'était une question
Javascript, mais peut-être que je me trompe ?






En fait, si je lis ça

http://stackoverflow.com/questions/11526504/minimum-and-maximum-date

ça laisse entendre qu'on peut aller bien au-delà avant et après, et que
la limite de 1713 qui m'a été proposée était pour "faire joli", histoire
de choisir une limite pour le test d'un composant de validation, mais si
je mets 0 ça marche aussi et on peut parler des apôtres ?
Avatar
SAM
Le 27/02/15 14:23, Gloops a écrit :
Bonjour tout le monde,

J'ai l'impression de me heurter à un problème de manque de précision
quant à la définition du calendrier utilisé.



Après avoir essayé :
date.getFullYear
je t'engage à consulter :

Le gourou des dates et calendriers JavaScript (*normal*) est ici :
<http://www.merlyn.demon.co.uk/js-date0.htm>
de temps en temps il tente de parler français ... c'est sympa de sa part
(il vaut mieux essayer de comprendre ses fonctions dans le code ;-) )

En tous cas j'obtiens '1713' avec :

var date = new Date('Sun Jan 01 1713 00:00:00 GMT+0100');
alert(date.getFullYear());



Cordialement,
--
Stéphane Moriaux avec/with iMac-intel 27" & Mac OS X 10.6.8
Avatar
Gloops
Le 27/02/2015 18:23, SAM a écrit :
Le 27/02/15 14:23, Gloops a écrit :
Bonjour tout le monde,

J'ai l'impression de me heurter à un problème de manque de précision
quant à la définition du calendrier utilisé.



Après avoir essayé :
date.getFullYear
je t'engage à consulter :

Le gourou des dates et calendriers JavaScript (*normal*) est ici :
<http://www.merlyn.demon.co.uk/js-date0.htm>
de temps en temps il tente de parler français ... c'est sympa de sa part
(il vaut mieux essayer de comprendre ses fonctions dans le code ;-) )

En tous cas j'obtiens '1713' avec :

var date = new Date('Sun Jan 01 1713 00:00:00 GMT+0100');
alert(date.getFullYear());



Cordialement,




Ah, OK ...

Ben ça baigne, alors.
Merci.
Avatar
Dr J R Stockton
In fr.comp.lang.javascript message <54f0a81f$0$3030$
r>, Fri, 27 Feb 2015 18:23:42, SAM
nvalid> posted:

Le 27/02/15 14:23, Gloops a écrit :
Bonjour tout le monde,

J'ai l'impression de me heurter à un problème de manque de précision
quant à la définition du calendrier utilisé.



Après avoir essayé :
date.getFullYear
je t'engage à consulter :

Le gourou des dates et calendriers JavaScript (*normal*) est ici :
<http://www.merlyn.demon.co.uk/js-date0.htm>


js-dates <g>

de temps en temps il tente de parler français ... c'est sympa de sa part
(il vaut mieux essayer de comprendre ses fonctions dans le code ;-) )



alert( // Firefox 36.0

+new Date(-864e13 - 1) + "n" + // NaN
+new Date(-864e13 ) + "n" + // -8640000000000000
+new Date(-864e13 + 1) + "n" + // -8639999999999999

+new Date(+864e13 - 1) + "n" + // +8639999999999999
+new Date(+864e13 ) + "n" + // +8640000000000000
+new Date(+864e13 + 1) + "n" // NaN

)

Ce est-à-dire de
Tue Apr 20 -271821 01:00:00 GMT+0100 (GMT Daylight Time)
à
Sat Sep 13 +275760 01:00:00 GMT+0100 (GMT Daylight Time)
ici.


--
(c) John Stockton, nr London, UK. E-mail, see Home Page. Turnpike v6.05.
Website <http://www.merlyn.demon.co.uk/> - w. FAQish topics, links, acronyms
PAS EXE etc. : <http://www.merlyn.demon.co.uk/programs/> - see in 00index.htm
Dates - miscdate.htm estrdate.htm js-dates.htm pas-time.htm critdate.htm etc.