date + 7 days ?

Le
Erwin
Bonjour,

je ne suis pas un expert en JS, mais j'essaye de progresser au fur et
à mesure de mes besoins (je programme en Ruby - Rails pour mes besoins
et j'utilise la library Prototype pour mes apppels Ajax)

dans un formulaire j'ai 2 champs dates, dont la valeur est indiquée
par l'utilisation d'un date picker (en javascrip) lorsque
l'utilisateur fixe le 1er champ (début), j'aimerais automatiquement
préciser à l'vanace le 2eme champ (fin) en ajoutant 7 jours à la
sélection de l'utilisateur.

Pour l'instant çà marche si je passe la valeur du champ début (normal
pour un débutant), mais comment faire pour calculer directement + 7
jours.. je me mélange les 'touches' avec les notions de Date en JS.

ce qui marche :
.
:onchange => "$('season_schedule_ending_at').value= $
('season_schedule_starting_at').value",
.

ce que je devrais faire :
var today =new Date();
new Date().setDate(today.getDate()+7);

j'ai testé pour voir si je peux balancer la date du jour :

:onchange => "$('season_schedule_ending_at').value= new
Date().setDate(new Date().getDate()+7);"
et j'obtiens 1218045122327 dans le champ fin

dois-je utiliser une library spécialisée pour le calcul et le
formatage ?

merci de votre aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Mickaël Wolff
Le #16443461
Erwin a écrit :
Bonjour,



Bonjour,

dans un formulaire j'ai 2 champs dates, dont la valeur est indiquée
par l'utilisation d'un date picker (en javascrip) lorsque
l'utilisateur fixe le 1er champ (début), j'aimerais automatiquement
préciser à l'vanace le 2eme champ (fin) en ajoutant 7 jours à la
sélection de l'utilisateur.



Ayant affronté les angles improbables du temps en PHP, je me doute
que les même plaisanteries de mauvais goût doivent exister en Javascript
(il n'y a pas de raison). Donc, lorsque tu manipuleras le temps, oublie
qu'une journée fait 3600 * 24 secondes, et que l'année comporte 365
jours. C'est parfois faux (en fait je me suis fait avoir par le
changement d'heure d'hiver).


:onchange => "$('season_schedule_ending_at').value= new
Date().setDate(new Date().getDate()+7);"
et j'obtiens 1218045122327 dans le champ fin



Ce qui correspond au timestamp Unix. C'est ce que retourne
Date.toString().

dois-je utiliser une library spécialisée pour le calcul et le
formatage ?



Je n'en connais pas, mais c'est vrai que ce serait bienvenue (surtout
pour ces maudits changements d'heure).

Tu peux cependant ajouter ceci au chargement de ta page :

Date.prototype.addDays = function(howmany)
{
var day = this.getDate() ;
this.setDate(day + howmany) ;

return this ;
}

Date.prototype.getFormated = function()
{
return this.getDate() + '/' + this.getMonth() + '/' +
this.getFullYear() ;
}


Pour tester :

var today = new Date ;
var in_eight = new Date ;
in_eight.addDays(7) ;

alert('Aujourd'hui : ' + today.getFormated() + 'nDans huit jours : ' +
in_eight.getFormated()) ;


Si tu veux fouiller un peu plus :

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
SAM
Le #16444301
Mickaël Wolff a écrit :
Erwin a écrit :
Bonjour,



Bonjour,

dans un formulaire j'ai 2 champs dates, dont la valeur est indiquée
par l'utilisation d'un date picker (en javascrip) lorsque
l'utilisateur fixe le 1er champ (début), j'aimerais automatiquement
préciser à l'vanace le 2eme champ (fin) en ajoutant 7 jours à la
sélection de l'utilisateur.





Peut-être :

(...)

Si tu veux fouiller un peu plus :




et si tu veux te casser la tête (en pas français) :



--
sm
Erwin
Le #16444621
On 30 juil, 20:32, Mickaël Wolff
Erwin a écrit :

> Bonjour,

   Bonjour,

> dans un formulaire j'ai 2 champs dates, dont la valeur est indiquée
> par l'utilisation d'un date picker (en javascrip) lorsque
> l'utilisateur fixe le 1er champ (début), j'aimerais automatiquement
> préciser à l'vanace le 2eme champ (fin) en ajoutant 7 jours à la
> sélection de l'utilisateur.

   Ayant affronté les angles improbables du temps en PHP, je me dou te
que les même plaisanteries de mauvais goût doivent exister en Javascr ipt
(il n'y a pas de raison). Donc, lorsque tu manipuleras le temps, oublie
qu'une journée fait 3600 * 24 secondes, et que l'année comporte 365
jours. C'est parfois faux (en fait je me suis fait avoir par le
changement d'heure d'hiver).

> :onchange => "$('season_schedule_ending_at').value= new
> Date().setDate(new Date().getDate()+7);"
> et j'obtiens    1218045122327   dans le champ fin

   Ce qui correspond au timestamp Unix. C'est ce que retourne
Date.toString().

> dois-je utiliser une library spécialisée  pour le calcul et le
> formatage ?

   Je n'en connais pas, mais c'est vrai que ce serait bienvenue (surt out
pour ces maudits changements d'heure).

   Tu peux cependant ajouter ceci au chargement de ta page :

Date.prototype.addDays = function(howmany)
{
    var day = this.getDate() ;
    this.setDate(day + howmany) ;

    return this ;

}

Date.prototype.getFormated = function()
{
    return this.getDate() + '/' + this.getMonth() + '/' +
this.getFullYear() ;

}

   Pour tester :

var today = new Date ;
var in_eight = new Date ;
in_eight.addDays(7) ;

alert('Aujourd'hui : ' + today.getFormated() + 'nDans huit jours : ' +
in_eight.getFormated()) ;

   Si tu veux fouiller un peu plus :

--
Mickaël Wolff aka Lupus Michaelishttp://lupusmic.org



Merci de ces infos..

j'ai fini par trouver : j'utilise la library Date.js (http://
www.datejs.com/)
j'ai ajouté une fonction dans le script du date picker que j'utilise
(http://code.google.com/p/calendardateselect/) un plugin pour
Rails...

dateInFuture: function(date_string, nb) {
ending = new Date(date_string).add(nb).day()
output1 = Date.months[ending.getMonth()] + " " + ending.getDate() +
", " + ending.getFullYear();
return output1
},

dans laquelle je reçois la date de début, je lui ajoute le nb de jours
désiré, je formatte comme attendu et je renvois dans la zone de
sortie...
ce qui me perturbait c'est que le formattage des dates en js est
vraiment 'basique' , tout à la main....en concaténation
mais on ça sort ce que l'on veut...
décidement faut que je m'y mette....

merci encore
Erwin
Le #16444611
On 30 juil, 22:42, SAM wrote:
Mickaël Wolff a écrit :

> Erwin a écrit :
>> Bonjour,

>   Bonjour,

>> dans un formulaire j'ai 2 champs dates, dont la valeur est indiquée
>> par l'utilisation d'un date picker (en javascrip) lorsque
>> l'utilisateur fixe le 1er champ (début), j'aimerais automatiquement
>> préciser à l'vanace le 2eme champ (fin) en ajoutant 7 jours à la
>> sélection de l'utilisateur.

Peut-être :

(...)

>   Si tu veux fouiller un peu plus :
>
et si tu veux te casser la tête (en pas français) :


--
sm



super merci..
Mickaël Wolff
Le #16444891
SAM a écrit :
Peut-être :



Merci ! Ressource très intéressante ajoutées à mes marques-pages.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Dr J R Stockton
Le #16450951
En fr.comp.lang.javascript message <4890d250$0$963$
fr>, 30 Jul 2008 22:42:55, SAM
id> a ecrit:

et si tu veux te casser la tête (en pas français) :




Pour une version en français environ aussi mauvais que le mien, essayer

Ou, retourner à de "GoogleTranslate" vers le haut sélectionner "Français".

C'est une bonne idée de lire le newsgroup clj et sa FAQ. Voir ci-dessous.

--
(c) John Stockton, nr London UK. ?@merlyn.demon.co.uk IE7 FF2 Op9 Sf3
news:comp.lang.javascript FAQ
Dr J R Stockton
Le #16450941
In fr.comp.lang.javascript message <e8de954b-4f90-478b-8605-65d97a8972e0
@y21g2000hsf.googlegroups.com>, Wed, 30 Jul 2008 10:53:28, Erwin

:onchange => "$('season_schedule_ending_at').value= new
Date().setDate(new Date().getDate()+7);"
et j'obtiens 1218045122327 dans le champ fin



Essayez

:onchange => "$('season_schedule_ending_at').value ( D = new Date(), D.setDate(new Date().getDate()+7), D)"

ou

:onchange => "$('season_schedule_ending_at').value new Date(new Date().setDate(new Date().getDate()+7))"

--
(c) John Stockton, nr London, UK. ?@merlyn.demon.co.uk Turnpike v6.05 MIME.
Web Proper <= 4-line sig. separator as above, a line exactly "-- " (SonOfRFC1036)
Do not Mail News to me. Before a reply, quote with ">" or "> " (SonOfRFC1036)
Pierre Goiffon
Le #16449001
Erwin wrote:
j'ai fini par trouver : j'utilise la library Date.js (http://
www.datejs.com/)



C'est ce que j'allais répondre ! Nous l'utilisons ici avec grand bonheur.
SAM
Le #16452761
Dr J R Stockton a écrit :
En fr.comp.lang.javascript message <4890d250$0$963$
fr>, 30 Jul 2008 22:42:55, SAM
id> a ecrit:
et si tu veux te casser la tête (en pas français) :






Se casser la tête avec calendriers, heures locales, formats, etc.

Pour une version en français environ aussi mauvais que le mien, essayer
Ou, retourner à de "GoogleTranslate" vers le haut sélectionner "Français".



Harrgghhh ! c'est encore pire.
La plupart des phrases n'ont aucun sens.

Harrgghhh! Het is nog erger.
De meeste zinnen zijn zinloos.


Google a l'air plus doué pour traduire en Anglais qu'en Français.
(on se demande pourquoi ?)

--
sm
Erwin
Le #16460861
On 31 juil, 14:15, Dr J R Stockton
En fr.comp.lang.javascript message <4890d250$0$963$
fr>, 30 Jul 2008 22:42:55, SAM
id> a ecrit:



>et si tu veux te casser la tête (en pas français) :

> > >
Pour une version en français environ aussi mauvais que le mien, essayer

Ou, retourner à de "GoogleTranslate" vers le haut sélectionner "Français".

C'est une bonne idée de lire le newsgroup clj et sa FAQ. Voir ci-dessou s.

--
 (c) John Stockton, nr London UK.   ?     I E7 FF2 Op9 Sf3
 news:comp.lang.javascript FAQ    


merci, thank you , je l'ai lu avec attention...
Publicité
Poster une réponse
Anonyme