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 :

calcul sur date anglais français.


Sujet :

JavaScript

  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut calcul sur date anglais français.
    Bonjour

    Je suis confronté à un souci dont je ne trouve pas la solution car je ne suis pas trés fort ten Jscript.
    Je dois faire une comparaison de date et j'ai bien peur qu'il m'inverse les dates en anglais et en français.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var d1 = new Date(0);
            var d2 = new Date(0);
            d1 = Date.parse(document.form1.datemandat.value);
            d2 = Date.parse(document.form1.dateestim.value);
            if (d1 < d2) {
                alert('Vous ne pouvez pas enregistrer un mandat avant l\'estimation, corrigez la date.');
                document.form1.flagbien.options[0].selected=true;
                document.form1.datemandat.focus();
                return false;
            }
    Avec d1 = '01/06/2008' et d2='10/01/2008'
    il me dit que c'est pas bon. Hors, force est de constater que le mois de Juin est aprés le mois de Janvier.
    J'en déduis donc (aprés quelques essais tout de même) qu'il inverse le format et doit travailler avec un format anglais, adaptant ça comme il peut lorsque la date est impossible à résoudre en anglais. (parce que j'ai pas de message d'erreur, voir même il me fait bien le comparatif)

    J'aimerais donc savoir comment le forcer à comprendre les dates en français.

    Pouvez m'aider ?

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    13/13/2008 c'est le 13 janvier 2009!

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci pour ton aide.

    C'est une façon de calculer. C'est assez marrant.

    Maintenant, vu que je suis cronfronté à un vrai souci avec des gens qui ne calculent pas du tout comme ça, est ce qu'il y a un moyen d'expliquer à Jscript qu'il calculer comme tout le monde ?

  4. #4
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    cad? en général c'est chacun sa sauce!
    fais une recherche sur calendar ou calendrier, il y a des codes pour faire un calendrier sous forme de popup

  5. #5
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci pour ton aide.

    Donc chacun ça sauce. Jscript serait donc un truc d'égoiste autonome dans lequel la notion de groupe est totalement absente ? ? ?

    Merci pour l'idée des calendriers, mais mon souci est de faire une comparaison de date, pas un calendrier. Et surtout merci de m'indiquer de faire des recherches, c'est vrai que j'aurais du y penser avant.

    Toutefois, mon souci réside sur un principe simple : les dates ne sont pas (visiblement) gérées comme il faut, en version française et j'aimerais avoir un peu d'aide pour que l'on m'indique comment on fait pour faire une simple comparaison de date en français, avec du Jscript.

    Merci d'avance.

  6. #6
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307

  7. #7
    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
    ce forum est truffé de scripts de comparaison de dates ..

    J'ai du en mettre au moins deux ou trois moi même


    pour ce qui est des date pickers il y en a un superbe dans les contributions ..
    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 !

  8. #8
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Ok, merci.

    En fait, j'étais déjà parti du script de la FAQ sur les comparaisons de date. Sauf que, depuis, il a changé. Avec le setFullYear, ça marche bien aussi.

    Enfin, j'ai l'impression, j'attends que l'utilisateur me trouve le cas qui va déconner.

    Merci

    Kenavo

  9. #9
    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
    Quoi que tu fasses, il y aura toujours un utilisateur qui fera planter le truc

    Mais en te couvrant avec un date picker ça évites déja des saisies de dates fantaisistes
    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 !

  10. #10
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Les saisie de date, c'est déjà géré.
    Ce que je gérais pas, car je ne savais pas qu'il allait me faire ça, c'est l'interprétation en anglais des dates françaises.

    Il est vai que mon premier message n'est aps trés clair, j'ai trop miser sur le code lui même qui me paraissait éloquent dans son problème.

    Maintenant, si JScript, en plus de tout ce qu'il sait faire, fais comme il veut avec les Dates, ben ça va être la crise. Parce que le coup du 13/13/2008 = 13/01/2009 je trouve ça fort de café. C'est pas VB.NET ou C# qui tolèrerait un largesse pareille. D'autant que cela n'obeit à aucune logique ou c'est moi qui n'ai rien compris.

    Mais bon, maintenant le script marche et le 01 Juin est bien reparti aprés le 10 Janvier, donc la Terre va pouvoir continuer de tourner dans le bons sens et moi je vais arrêter de marcher sur la tête

    Kenavo

  11. #11
    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
    le plus sur pour comparer les dates est de faire une concaténation comme suit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    date1Str=date1.getFullyear()+date1.getMonth()+date1.getDate();
    date2Str=date2.getFullyear()+date2.getMonth()+date2.getDate();
    et là une simple comparaison te donne le résultat correct

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    var comp
    switch (true){
                  case(date1Str>date2Str): comp="supérieure";
                                                            break;
                  case(date1Str<date2Str): comp="inférieure";
                                                            break
                  case(date1Str==date2Str): comp="égale";
                                                            break
    }
     
    alert(' la date 1 est '+comp+' à la date2')
    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 !

  12. #12
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Comme tu auras pu le remarquer dans mon code, ma donnée date vient d'une saisie. Comment je remplace le getDAte() par mon champ de saisie ?

    Mais surtout, comment être sûr qu'il va me prendre le mois lrosque je vais lui demande le mois ?

  13. #13
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var date1="13/10/2008"
     
    var date1Str=date1.split('/').reverse().join('')
    alert (date1Str)
    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 !

  14. #14
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci pour ton aide.

    Avec cette formulation ça à l'air de bien marcher.

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

Discussions similaires

  1. Calcul sur date dans SQL
    Par Tchupacabra dans le forum WinDev
    Réponses: 4
    Dernier message: 27/02/2006, 19h23
  2. Format Date Anglais/Français
    Par macben dans le forum Oracle
    Réponses: 4
    Dernier message: 22/08/2005, 10h12
  3. [débutant] calcul sur date
    Par Regis.C dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 04/01/2005, 10h51
  4. Resutlat de calcul sur date formaté
    Par neness dans le forum SQL
    Réponses: 6
    Dernier message: 16/06/2004, 15h34
  5. Calcul sur date
    Par Thomad dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/09/2003, 08h55

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