IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Manipuler des dates ?


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 8
    Par défaut Manipuler des dates ?
    Bonjour,

    Je sollicite votre aide car j'ai un soucis.
    Mon problème est le suivant :
    J'ai un formulaire concernant des réservations, l'utilisateur choisit sa date d'arriver et sa date de départ à l'aide menu déroulant type "<option>". Je récupère les jours, les mois et les années dans des variables respective. Jusque là, tout va bien.
    Sur la même page, un prix total s'affiche en fonction du nombre de jour réservé par l'utilisateur (le tout en javascript toujours)

    Cependant, je dois rajouter à ce prix total une taxe de séjour. Sachant que la taxe de séjour est définit seulement entre deux date précise (du 1 avril au 31 octobre).
    Ex: si un client réserve du 3 au 13 mai, il faudra rajouter au prix total : 10*prixTaxeSejour
    si un client réserve du 20 mars au 5 avril, il faudra rajouter au prix total : 5*prixTaxeSejour
    si un client réserve du 20 janvier au 20 fevrier, pas de taxe...
    Etc...
    Hé bien, je ne vois pas comment coder un tel truc. Alors si vous avez une idée, des fonctions utiles... je suis tout ouïe

    Merci

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Tu as mis en place dans le langage courant ce que tu souhaites, il ne te reste plus qu'à le traduire en langage informatique ...

    Si tu ne connais pas la syntaxe, voilà qui peut t'aider :

    Faire des tests en Javascript.

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Regarde dans la Faq les comparaisons de dates ...

    si tu récupères les jj mm aaaa en string rien de plus simple

    concatènes ta date dans cet ordre : aaaammjj et si l'année importe peu juste var seldate=mm+jj

    ensuite une simple comparaison de string ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
    <script type="text/javascript" >
     
    var seldate="0510"
    var taxedesejour=0
    switch (true) { case (seldate>="0503" && seldate<="0513") : taxedesejour=10;
    																		break;
    				  case (seldate>="0320" && seldate<="0405") : taxedesejour=5;
    																		break;
    				  case (seldate>="0120" && seldate<="0220") : taxedesejour= 1;
    																		break;
    																	}
     
    alert('taxe de séjour : ' + taxedesejour.toFixed(2) + "€")
    </script>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Août 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 8
    Par défaut
    Je tiens à vous remercier pour vos réponses rapide!
    Cependant je me suis mal fait comprendre, bon c'est vrai que c'est pas super facil à expliquer
    En faite, le problème de ton script c'est qu'il calcul la taxe de séjour cas par cas, et dans mon cas, c'est l'utilisateur qui modifie ses dates avec le menu déroulant donc je ne connais pas à l'avance les dates. La difficulté c'est de calculer la taxe en fonction des dates entrées par le client.

    (Rappel: taxe de sejour payé du 01 avril au 31 octobre)
    Ex: s'il décide de mettre les dates du 20 mars au 25 avril, la taxe de séjour sera calculée sur les 25 jours d'avril seulement et les 11 jours en mars ne seront pas taxés (31-20)

    Le tout est de trouver l'algo permettant de calculer ça dynamiquement mais j'avoue que ça me dépasse un peu.
    J'espère être plus clair cette fois ci, ce soir je mettrais un bout de code pour illustrer d'avantage.

    Merci à vous

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    He en effet c'est un peu plus complexe, tu dois en fait récupérer le nombre de jours sur chaque tranche ...
    Je réfléchis ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    fais un boucle entre le jour d'arrivée et le jour de départ...
    5*x=x+x+x+x+x
    10*....

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    ensuite une seconde piste
    recupération du nombre de jours entre deux dates ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // Mise en place de la première date
    d1 = new Date(0);
    d1.setFullYear(2006, 11, 27)
     
    // Mise en place de la seconde date
    d2 = new Date(0);
    d2.setFullYear(2007, 11, 30)
     
    jours = (d2-d1)/86400000    //calculate days and convert to string
    alert(jours)
    avec ça il ne te reste plus qu'a comparer par rapport aus dates d'intervalles ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Août 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 8
    Par défaut
    Hum, ça a l'air interessant tous ça.
    Je testerai quelques truc et vous tiendrez au courant!

    merci à vous

Discussions similaires

  1. [JDBC] manipulation des dates
    Par zais_ethael dans le forum JDBC
    Réponses: 3
    Dernier message: 11/12/2005, 19h55
  2. [JDBC] manipulation des dates/heures en Java
    Par kurkLord dans le forum JDBC
    Réponses: 6
    Dernier message: 09/08/2004, 12h49
  3. Manipulations des Dates
    Par kurtc dans le forum Langage SQL
    Réponses: 11
    Dernier message: 13/04/2004, 14h39
  4. [IB6][BCB5]Manipulation des dates.
    Par Sitting Bull dans le forum SQL
    Réponses: 4
    Dernier message: 09/04/2004, 15h33
  5. Manipuler des dates...
    Par Ti Jen-tsie dans le forum Langage
    Réponses: 4
    Dernier message: 26/06/2003, 11h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo