Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec Date()

Sujet résolu
    8 mars 2010 à 20:15:45

    Bonjour,

    J'ai un problème quand j'utilise Date().
    Ma date est comme celle la par exemple :
    2010,03,08,22,10,33
    


    Si je fais :
    dateFuture = new Date(2010,03,08,22,10,33);
    

    J'ai ça comme résultat : Thu Apr 08 2010 22:10:33 GMT+0200

    Par contre si je mets une variable (qui a pour valeur 2010,03,08,22,10,33) dans date() :
    dateFuture = new Date(variable);
    

    J'ai comme réponse : Invalid Date.

    Je récupère cette variable à partir d'une requête php, donc il faut vraiment que je passe la variable dans date(), mais je sais pas comment faire pour que ça fonctionne, je sais pas pourquoi ça ne fonctionne pas...

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      8 mars 2010 à 20:28:48

      Ca fonctionne pas car 6 paramètres nombre, c'est pas équivalent à 1 paramètre chaîne... -_-"

      var params = variable.split(','),
      fct = ["setFullYear","setMonth","setDate","setHours","setMinutes","setSeconds"],
      dateFuture = new Date();
      for(var i=0;i<params.length;i++) {
        dateFuture[fct[i]](params[i]);
      }
      


      J'ai pas réussi à faire plus joli...
      (Je sais toujours pas comment appliquer un apply() sur un new qqch... :euh: )
      • Partager sur Facebook
      • Partager sur Twitter
        8 mars 2010 à 20:45:35

        Encore la même erreur que j'avais faite auparavant...

        Merci pour ton code, mais comment je peux récupérer setFullYear, setMonth, etc... ?

        Ensuite je présume que je fais :
        dateFuture = new Date(setFullYear,setMonth,setDate,setHours,setMinutes,setSeconds);
        A condition de savoir comment vraiment les afficher.

        Merci !
        • Partager sur Facebook
        • Partager sur Twitter
          8 mars 2010 à 20:56:15

          Non.
          En fait, le truc de Golmote récupère les unités une page une et fait :
          date.setUnité(valeur)
          C'est un peu compliqué comme il a fait mais c'est ça :)
          • Partager sur Facebook
          • Partager sur Twitter
            8 mars 2010 à 20:57:31

            Non mais là le code il fait tout. En supposant que ta variable "variable" soit déclarée avant le code et contienne bien "2010,03,08,22,10,33"
            • Partager sur Facebook
            • Partager sur Twitter
              8 mars 2010 à 21:20:59

              D'accord.

              Donc la grâce à ton code, quand j'affiche dateFuture (via la variable), c'est exactement pareil que quand je fais dateFuture = new Date(2010,03,08,22,10,33); et que je l'affiche.

              Cependant ça ne marche toujours pas dans le traitement que je veux en faire derrière qui est :
              amount = dateFuture.getTime() - dateNow.getTime();

              En gros si ont affiche les variables elles sont exactement pareil, mais après, si j'utilise ton script, ça ne marche pas, si met la date en brut à la main : ça marche...

              Je comprends pas vraiment, merci.
              • Partager sur Facebook
              • Partager sur Twitter
                8 mars 2010 à 22:20:28

                Petite question, comment déclares-tu ta variable?
                • Partager sur Facebook
                • Partager sur Twitter
                  8 mars 2010 à 22:23:53

                  dateFuture = file('fichier.php')

                  ça me retourne une date comme celle ci : 2010,03,08,22,10,33
                  • Partager sur Facebook
                  • Partager sur Twitter
                    8 mars 2010 à 22:36:48

                    Citation : Kust

                    Cependant ça ne marche toujours pas dans le traitement que je veux en faire derrière qui est :
                    amount = dateFuture.getTime() - dateNow.getTime();



                    Tu peux être plus précis dans le "ça ne marche pas".

                    En passant, petite modification du code :

                    var params = variable.split(','),
                    fct = ["setFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds"],
                    dateFuture = new Date();
                    for(var i=0;i<fct.length;i++) {
                      dateFuture[fct[i]]( i<params.length ? params[i] : 0 );
                    }
                    


                    Comme ça c'est exactement pareil qu'une date entrée à la main, normalement.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      8 mars 2010 à 22:37:59

                      Un peu la flemme ce soir...

                      As-tu essayé, en déclarant ta variable en tant qu'array javascript? (c'est le type retourné par Date() )
                      • Partager sur Facebook
                      • Partager sur Twitter
                        8 mars 2010 à 22:49:58

                        J'ai trouvé la solution.

                        En fait dans mes fonctions, j'en avais une qui s'exécuter au chargement de la page, donc une fois et c'est la où je voulais mettre dateFuture, pour qu'ensuite cette variable aille dans le fonction du compteur.
                        J'ai tout simplement mis directement la recherche de dateFuture dans le compteur...

                        Et donc tout marche.

                        Mon compteur décompte à partir d'une date, date qui peut évoluer pendant le décompte. Le but est donc de voir si la date de fin change, si elle change, le compteur se mets à jour en fonction de sa valeur.

                        En tout cas merci de votre aide !
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Problème avec Date()

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown