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 :

Traitement de date


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 32
    Points : 17
    Points
    17
    Par défaut Traitement de date
    Bonjour,

    Avant tout, je tiens a vous informer que je suis débutant ^^

    Alors voila, j'ai un script qui me récupère la date sur un champs label (affiché grace a PHP, c'est l'heure serveur)

    Voici mon script :
    Code JAVASCRIPT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <script language="javascript">
    function Horloge()
    {
      var MaDate = document.getElementById('affHorloge').innerHTML;
      var tabDate = MaDate.split(':');
      var MonHeure = parseInt(tabDate[0]);
      var MaMinute = parseInt(tabDate[1]);
      var MaSeconde = parseInt(tabDate[2])+1;
      var HeureActuelle;
     
      if (MaSeconde == 60)
      {
      	MaSeconde = '00';
    		MaMinute += 1;
      }  
      if (MaMinute == 60)
      {
      	MaMinute = '00';
    		MonHeure += 1;
      }
      if (MonHeure == 24)
      {
      	MonHeure = '00';
      }
     
      if(MonHeure < 10)
      {
    		MonHeure = '0' + MonHeure;
      }	
      if(MaMinute < 10)
      {
    		MaMinute = '0' + MaMinute;
      }	
      if(MaSeconde < 10)
      {
    	MaSeconde = '0' + MaSeconde;
      }
      HeureActuelle = MonHeure + ':' + MaMinute + ':' + MaSeconde;
     
      document.getElementById('affHorloge').innerHTML = HeureActuelle;
    }
    setInterval(Horloge,1000);
    </script>

    Le résultat:
    L'horloge affiche bien le 0 devant les secondes et minutes < 10 (en fait à 8)
    à 60 secondes il revient bien à 0 pareil pour les minutes et c'est ok aussi pour les heures arrivées à 24.

    Les symptômes de mon problème :
    Arrivé à 08 secondes, il boucle à 00 seconde.
    Arrivé à 08 minutes, il boucle à 00 minute.
    Arrivé à 08 heures, il boucle à 00 heure.

    Savez vous d'où cela peut venir ?
    Si j'enlève le test <10 pour ajout du 0, aucun problème.
    J'ai donc fait les tests suivant :

    Code JAVASCRIPT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(MaSeconde < 30)
    {
      MaSeconde = '0' + MaSeconde;
    }

    si je met une heure fixe exemple : 23:00:15, il affiche au moment du passage en script 23:00:015 mais la un truc complètement fou se passe !!
    Il fait un compte a rebours arrière a 014, 013 jusqu'à 09 ou il bascule a 00et ensuite reprend sa course jusqu'à 08 et reprend a 00 ...

    j'aime pas le javascript et ça ne fait que commencer .... :s

    Merci par avance pour le temps que vous passerez à m'aider

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 32
    Points : 17
    Points
    17
    Par défaut
    J'ai failli oublié ^^
    Pas très important mais tout de mêm ^^

    <label id="affHorloge"></label>

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setInterval('Horloge()',1000);

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 32
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setInterval('Horloge()',1000);
    J'ai modifier cette erreur de syntaxe ^^.
    Mon code fonctionnait avant et fonctionne toujours, enfin il fonctionne toujours de la même façon ^^

    Toujours ce problème que a 08 il passe tout seul a 00. J'ai rentrer la date directement 08:08:08 et au premier passage du javascript il est 00:00:00 puis 01 seconde etc ....

    En fait c'est le cap des 08 seconde qu'il ne franchit pas. J'ai beau être débutant en js, je suis quand même pas mauvais en php et là c'est un des codes les plus simple qu'il soit ... pourtant il me bug ...

  5. #5
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Encore un classique

    parseInt prend en deuxième paramètre la base de conversion : (sinon la détection automatique croit que c'est de l'octal dès que la chaine a parser commence par 0... ^^

    solution : transforme tes parseInt de cette façon :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // ...
      var MonHeure = parseInt(tabDate[0], 10);
    
    // ...

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 32
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par RomainVALERI Voir le message
    Encore un classique

    parseInt prend en deuxième paramètre la base de conversion : (sinon la détection automatique croit que c'est de l'octal dès que la chaine a parser commence par 0... ^^

    solution : transforme tes parseInt de cette façon :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // ...
      var MonHeure = parseInt(tabDate[0], 10);
    
    // ...
    Merci Romain ^^ Ca marche !!

    Par contre je ne comprend toujours pas une chose. Le 08 malgré le passage en octal, il ne donne pas 60 si ? alors pkoi ma chaine passe à 00.

    Quoiqu'il en soit, avec parseInt il suffit de savoir qu'il peut être casse pied pour le retenir a vie Jamais plus il ne me fera le coup ^^

    Merci encore

  7. #7
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par BomberSheep Voir le message
    Jamais plus il ne me fera le coup ^^
    Il faut avoir soi-même pleuré et tapé du poing sur son débugger pour comprendre... ^^
    ... et donc je comprends bien

    bonne continuation

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 32
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par RomainVALERI Voir le message
    Il faut avoir soi-même pleuré et tapé du poing sur son débugger pour comprendre... ^^
    ... et donc je comprends bien

    bonne continuation
    D'ailleurs petite question en passant ^^ j'ai trouvé un petit log Aptana Studio pour mon code js, c'est très simpa surtout avec l'écriture intelligente des fonctions et propriétés mais existe t il une sorte de debugger qui comme php m'indiquerais le type d'erreur et la ligne ou cela se produit ?

    Car j'avoue que de faire des alert ou meme des .innerHTML pour avoir une visu ligne par ligne d'ou pourrait provenir l'erreur c'est pas très "catholique" comme méthode de prog c'est plutot du bricolage et je déteste ça

    Merci encore

  9. #9
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut débugger du js : quelques repères
    pour FF >>> le célèbre module complémentaire "Firebug" et ses satellites (outil - à ma connaissance - actuellement inégalé et incontesté ^^)

    pour IE, notamment v7 et v6 >>> c'est plus chaud mais il y a quand même (heureusement !!!) DebugBar qui fonctionne correctement...


    Bien sûr ce ne sont que des suggestions, je n'ai pas fait d'études comparatives, ce sont les outils que j'utilise personnellement

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 32
    Points : 17
    Points
    17
    Par défaut
    var boulet = BomberSheep;

    if(firebug == true){
    BomberSheep =
    }

    Bon ben Aptana me l'a installé sur FF ... je crois que je vais me faire un epu de lecture à ce sujet pour connaitre son focntionnement

    Merci encore et ptetre a bientôt pour une autre question ^^

    Je note cette discussion RÉSOLU

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

Discussions similaires

  1. [Oracle] traitement des dates au format string
    Par shaftJackson dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/01/2007, 18h25
  2. Exécuter un traitement à des dates précises
    Par Commodore dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 08/08/2006, 09h42
  3. Traitement Heure & Date
    Par Hokagge dans le forum MFC
    Réponses: 2
    Dernier message: 15/01/2006, 01h33
  4. [PL/SQL] Traitement de date
    Par lapartdombre dans le forum Oracle
    Réponses: 4
    Dernier message: 21/11/2005, 14h55
  5. Traitement des dates différent suivant le serveur
    Par le lynx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/09/2005, 11h14

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