Voici le source d'un petit fichier HTML de test :

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
<html>
<head>
  <script type="text/javascript">
  function dateTesting()
  {
    var myDate = "2008-09-15";
    alert("Month: " + myDate.substr(5, 2));
    alert(myDate.substr(5, 2) + " * 100 = " + parseInt(myDate.substr(5, 2)) * 100);
  }
  </script>
</head>
<body onLoad="dateTesting();">
  Hello World!
</body>
</html>
C'est tout bête : j'ai une chaîne qui contient 2008-09-15 et je cherche à capturer le mois, en faire un int pour ensuite faire un petit calcul avec. Par exemple, le multiplier par 100. Et bien le résultat est inquiétant : la première alerte m'affiche bien "09" mais la deuxième me retourne 0 ! Autrement dit, 09 x 100 = 0. Hmmmm...

Vous y comprenez quelque chose, vous ? Il y aurait un bug dans la fonction parseInt ? Elle n'a pas l'air d'aimer les chaînes de nombre qui commencent par un zéro.