Partage
  • Partager sur Facebook
  • Partager sur Twitter

Formater l’heure au format fr impossible

Sujet résolu
    6 décembre 2024 à 20:11:02

    Bonjour à toutes et tous,

    Je reviens à nouveau concernant mon poste du 02/12/2024 indiqué comme résolu. J’ai préféré créer un nouveau poste, car l’interrogation est nouvelle.

    https://openclassrooms.com/forum/sujet/modifier-une-phrase-contenue-dans-une-variable-2b132

    L’Outil que j’ai codé fonctionne. Pour rappel c’est un outil de mise en forme de logs/traces pour supprimer certains caractères, les espaces en trop et rendre le tout plus lisible par tout le monde.

    • Nouvelle question :

    Je souhaite formater la date et l’heure au format fr  et pour l’heure n’afficher que les heures et minutes.

    J’ai réussi pour la date avec l’instruction 

    new Date().toLocaleDateString();

    Pour l’heure je n’y arrive pas du tout, j’ai essayé l’instruction 

    new Date().toLocaleTimeString()

    mais ça m’affiche 00:00 à la place de l’heure indiquée dans la trace.

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<meta http-equiv="X-UA-Compatible" content="IE=edge">
    	<meta name="viewport" content="width=device-width, initial-scale=1.0">
    	<title>Titre</title>
    </head>
    <body>
    </body>
    <script>
        let LaTrace = "positions_A       TRzX_065          positions_B    TRzX_065          02.12.2024 10.09.07      02.12.2024 10.09.07             bien_arrivé ";
    
        // RegEx pour supprimer les espaces en trop et scinder la trace en tableau ----
    
        let arrayTrace = LaTrace.split(/\s+/gi);
    
        // mise en forme du message ----
    
        let statusItem = arrayTrace.length - 2;
        
        // Formater la date au format fr ----
        
        let FormatDateFr = new Date( arrayTrace['4'] ).toLocaleDateString('fr-FR');
        
        // Formatage de l'heure au format fr avec simplement les heures et les minutes (ne fonctionne pas) ----
        
        // let FormatHeureFr = new Date( arrayTrace['5'] ).toLocaleTimeString('fr-FR');
    
        // Concaténation de la trace ----
        
        let messageTrace = `De la ${arrayTrace['0']} vers la ${arrayTrace['2']} le ${FormatDateFr} à ${arrayTrace['5']} – ${arrayTrace[statusItem]}`;
    
        // affichage ----
    
        alert(messageTrace); // De la positions_A vers la positions_B le 12/02/2024 à 10.09.07 – bien_arrivé
    </script>
    </html>

    Pouvez-vous, à nouveau, m'aider s'il vous plaît ?

    Merci ;)

    -
    Edité par MBMI 6 décembre 2024 à 20:32:49

    • Partager sur Facebook
    • Partager sur Twitter
      10 décembre 2024 à 22:17:34

      Bonsoir,

      J’ai résolu mon souci. Je viens répondre et donner la solution que j’ai utilisée pour que cela puisse servir à d’autre ou que quelqu’un me dise que ce n’est pas une solution très propre et qu’il y a mieux.

      Pour rappel, la fonction .toLocaleTimeString ne veut pas fonctionner et m’affiche 00:00 à la place l’heure contenue dans l’index 5 du tableau. Je ne sais pas pourquoi et j’ai donc contourné le problème via la fonction .substring qui va récupérer uniquement les heures et les minutes dans l’index 5 du tableau, puis .replaceAll pour remplacer le « . » qui délimite les heures et les minutes par « h ». Cela fonctionne parfaitement.

      let TimeFormatting = arrayTrace['5'].substring(0, 5).replaceAll('.', 'h');

      Et voilà :)

      -
      Edité par MBMI 10 décembre 2024 à 22:20:04

      • Partager sur Facebook
      • Partager sur Twitter

      Formater l’heure au format fr impossible

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      • Editeur
      • Markdown