[Javascript] - Petite erreur de date

Résolu/Fermé
Wilfou Messages postés 101 Date d'inscription dimanche 4 avril 2010 Statut Membre Dernière intervention 3 janvier 2014 - Modifié par Wilfou le 2/08/2011 à 14:59
Wilfou Messages postés 101 Date d'inscription dimanche 4 avril 2010 Statut Membre Dernière intervention 3 janvier 2014 - 4 août 2011 à 01:02
Bonjour,

j'essaye de me programmer un calendrier et pour cela, j'ai besoin de lier mon fullcalendar (jquery) avec une base de donnée. J'ai bien réussi à faire le lien, mais j'ai un problème lors de la lecture de ma date. Voici le code :

<script type="text/javascript"> 
    var date = new Date(); 
    var d = date.getDate(); 
    var m = date.getMonth(); 
    var y = date.getFullYear(); 
    alert (new Date(y, m, d)); 
    <?php  
        mysql_connect("localhost","root",""); 
        mysql_select_db("ma_bdd"); 
        $sqlQueryGetBirthday = ("SELECT * FROM users WHERE user_birthday != 0;"); 
        $result = mysql_query($sqlQueryGetBirthday) or die('Erreur ! Veuillez contacter l\'administrateur ! " ' . $sqlQueryGetBirthday .' " ==> '. mysql_error()); 
        if (mysql_num_rows($result) == 0) { 
            die("Erreur ! Veuillez contacter l'administrateur ! "); 
        }
        while ($row = mysql_fetch_array($result)) { ?> 
            alert ('Anniversaire de <?php echo $row['username']; ?>'); 
      <?php $start = explode('-', $row['user_birthday']); ?> 
            var annee = (<?php echo $start[2]; ?>); 
            var mois = (parseInt('<?php echo $start[1]; ?>', 10)); 
            var jour = (<?php echo $start[0]; ?>); 
            alert (annee); 
            alert (mois); 
            alert (jour); 
            alert (new Date(annee, mois, jour)); 
  <?php } ?> 
</script>


j'ai mis des "alert" partout pour chercher mon erreur mais bon, je ne trouve pas.

Le problème est que la ligne "alert (mois);" me renvoi bien la valeur 8 inscrite dans la base de données mais la ligne "alert (new Date(annee, mois, jour));" me renvoi le mois de septembre. Le problème proviendrait-il à cause de la fonction "new Date" ?

Merci

2 réponses

la fonction getMonth renvoie le mois. Janvier = 0, donc il faut que tu fasse -1 :)
voir doc :
http://www.progmatique.fr/article-26-Javascript-utilisation-objet-date.html

ex :
 var d = date.getDate();   
 var m = date.getMonth()-1;   
 var y = date.getFullYear(); 
2
Wilfou Messages postés 101 Date d'inscription dimanche 4 avril 2010 Statut Membre Dernière intervention 3 janvier 2014 10
4 août 2011 à 01:02
merci beaucoup !!

j'ai en effet effectué le -1 mais il me semblait que c'était une bidouille et vu que j'apprends à programmer, autant partir sur de bonnes bases.
0