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

Servlets/JSP Java Discussion :

Des dates, des dates oui mais des Panzanis


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 54
    Points : 34
    Points
    34
    Par défaut Des dates, des dates oui mais des Panzanis
    Bonjour à tous et à toutes,

    Je reviens vers vous suite à des questions concernant les dates sous Java.

    Re voici la problématique :
    Dans un formulaire, j'appelle dans un menu déroulant une liste de date de livraison.
    Le but final étant de créer un système de choix de livraison 24h, sauf samedi et dimanche.
    J'ai réalisé une partie, c'est à dire que l'on ne peut choisir qu'une date au moins 24h aprés celle du jour (en gros pour une livraison en 24h on ne peut pas sélectionner le jour même)
    Si le lendemain est un samedi(commande le vendredi), la livraison est reportée à lundi et si le lendemain(commande samedi) est un dimanche, la livraison est reportée à mardi.

    Cependant si l'on commande un lundi, rien nous empêche de sélectionner un samedi ou un dimanche, ce que je ne veut pas évidement.

    Quelqu'un connaitrait il une solution pour empêcher ne serait ce que l'affichage des samedis et dimanches dans le menu déroulant (j'utilise la classe Calendar)

    Merci d'avance!

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 230
    Points : 310
    Points
    310
    Par défaut
    Bonjour,

    Je ne comprends pas bien où est-ce que tu bloques, comment ajoute-tu les jours de la semaine à ta liste déroulante ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 54
    Points : 34
    Points
    34
    Par défaut
    Dans mon formulaire j'appelle comme ça les dates :

    <html:option value="<%= deliveryDateFormat.toString() %>">

    J'ai un DateUtil qui récupère la date courante, et le reste est géré par Calendar et je transforme les date en chaines pour l'affichage dans le menu déroulant

    Mais je comprend où tu veut en venir : je n'ai qu'a supprimer les samedis et dimanche de la bdd, cependant les dates ne sont pas stockées dans la bdd.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 230
    Points : 310
    Points
    310
    Par défaut
    Qu'entends-tu par "le reste est géré par Calendar" ? Il y a bien un moment où tu remplis une liste sur laquelle tu iteres par la suite dans ta jsp non ?
    Dans ce cas pourquoi ne pas exclure le samedi et le dimanche de cette liste ?

    Je ne comprends peut-être pas bien le fonctionnement de ton programme, pourrais-tu mettre le code de la partie où tu remplis ta liste de dates ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 54
    Points : 34
    Points
    34
    Par défaut
    voilà comment est peuplée la liste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    List<Date> deliveryDateList = new ArrayList<Date>() ;
    //on récupére date actuelle
    Calendar now = Calendar.getInstance() ;
    //on ajoute un jour à la date		
    				now.add(Calendar.DAY_OF_MONTH, 1) ;							
    if(now.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || now.get(Calendar.DAY_OF_WEEK)==Calendar.SUNDAY)								now.add(Calendar.DAY_OF_MONTH, 2);		
    for(int i = 0 ; i < ArticleUtil.NB_DAY_PROPOSAL_DELIVERY ; i++ )
    {deliveryDateList.add(now.getTime()) ;
    now.add(Calendar.DAY_OF_MONTH, 1) ;
    }
    NB_DAY_PROPOSAL_DELIVERY est le nombre de jour sur lesquels on peut commander (si c'est à 30, la liste va jusqu'au mois prochain)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 230
    Points : 310
    Points
    310
    Par défaut
    Je ne comprends pas bien ce test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(now.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || now.get(Calendar.DAY_OF_WEEK)==Calendar.SUNDAY)
    Lu comme cela il indique que l'on entre dans la boucle for que si la date courrante est un vendredi ou un samedi.

    Voici ce que je ferais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    List<Date> deliveryDateList = new ArrayList<Date>();
    Calendar now = Calendar.getInstance(); //on récupére la date actuelle
    for(int i = 0 ; i < ArticleUtil.NB_DAY_PROPOSAL_DELIVERY ; i++ ) {
       now.add(Calendar.DAY_OF_MONTH, 1); // on se positionne sur le jour suivant
       // si ce jour n'est ni un samedi ni un dimanche on l'ajoute à la liste
       if (now.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY && now.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) { 
          deliveryDateList.add(now.getTime());
       }
    }

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 54
    Points : 34
    Points
    34
    Par défaut
    Ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(now.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || now.get(Calendar.DAY_OF_WEEK)==Calendar.SUNDAY)
    Permet de savoir si le jour suivant est un samedi ou un dimanche.
    (ce qui équivaut à dire si le jour courant est un vendredi ou un samedi)
    Vu que les livraison ne sont pas disponibles ces jours ci, si le lendemain est un jour du week end alors la livraison n'est possible qu'à partir du lundi d'apès.


    J'ai testé ton code et ça correspond bien à ce que je veut faire !!

    Merci Benouze, t'es troopp Ballleezzee (tu cartonnes !)

    (ou c'est moi qui suis une vraie bille)

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 230
    Points : 310
    Points
    310
    Par défaut
    Ravi que cela te convienne.

    Au fait, mieux vaudrait stocker now.get(Calendar.DAY_OF_WEEK) dans une variable avant de faire le test sur le samedi ou le dimanche ça éviterait d'appeler 2 fois la méthode.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Des IF, des IF, oui mais des AND aussi !
    Par Shennong dans le forum VB.NET
    Réponses: 6
    Dernier message: 11/10/2014, 15h12
  2. [Parser] Oui mais des conseils ?
    Par JulienDuSud dans le forum Générateurs de compilateur
    Réponses: 8
    Dernier message: 12/09/2006, 11h40
  3. SQL server et toujours des problèmes de dates ...
    Par constantin dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 28/10/2005, 12h19
  4. Ecraser des valeurs avec Dates identiques
    Par beurnoir dans le forum Access
    Réponses: 10
    Dernier message: 25/10/2005, 09h47
  5. Classer des messages par date ET par pertinence
    Par pocpoc2 dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 04/07/2005, 10h54

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