Convertir heures en hh:mm:ss dans un array
Résolu
rasielblas
Messages postés
135
Date d'inscription
Statut
Membre
Dernière intervention
-
rasielblas Messages postés 135 Date d'inscription Statut Membre Dernière intervention -
rasielblas Messages postés 135 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Convertir heures en hh:mm:ss dans un array
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Convertir youtube en mp3 avec audacity - Guide
- Convertir epub en kindle - Guide
- Convertir audio en texte word - Guide
- Convertir kindle en epub - Guide
6 réponses
Bonjour,
ne serait-il pas plus simple de gérer ça lors du remplissage du premier tableau ?
D'où proviennent les données ?
ne serait-il pas plus simple de gérer ça lors du remplissage du premier tableau ?
D'où proviennent les données ?
var stringArray = new Array("1:3:12", "2:5:4", "3:1:1", "1:1:5"); function formatHMS(arrDatas){ var newArr = arrDatas.map(item => { let explodeItem = item.split(':'); let newItem = explodeItem.map(elm=>{ return parseInt(elm)<10 ? "0"+elm : elm; }); return newItem.join(':'); }); return newArr; } formatHMS(stringArray);
Merci de m'avoir répondu, ce donnée vient d'un développeur que je n'ai pas accès malheureusement, je ne fais que le côté affichage. Tous ce que j'ai reçu c'est un tableau qui contient des données est doit être formaté en javascript afin d'obtenir le format hh:mm:ss
Voila le donnée que j'ai reçu:
"heure" => array:1 [▼
0 => array:1 [▼
0 => "3 : 38 : 41 "
]
Voila le donnée que j'ai reçu:
"heure" => array:1 [▼
0 => array:1 [▼
0 => "3 : 38 : 41 "
]
Salut,
il suffit de passer par l'objet Date en créant un nouvel objet pour chaque date et en utilisant les méthodes de l'objet pour obtenir le format voulu.
Il faudra bien sûr faire ça pour chaque élément du tableau(avec une fonction par exemple) dans une boucle.
Sinon le plus pratique c'est d'utiliser un timestamp unix et convertir quand on en a besoin(pour afficher par exemple) parce que le timestamp unix est un nombre entier décimal donc nettement plus simple à manipuler pour les calculs et les tris éventuels(comparaison, obtenir les dates chronologiques etc...).
https://www.w3schools.com/js/js_dates.asp
il suffit de passer par l'objet Date en créant un nouvel objet pour chaque date et en utilisant les méthodes de l'objet pour obtenir le format voulu.
Il faudra bien sûr faire ça pour chaque élément du tableau(avec une fonction par exemple) dans une boucle.
Sinon le plus pratique c'est d'utiliser un timestamp unix et convertir quand on en a besoin(pour afficher par exemple) parce que le timestamp unix est un nombre entier décimal donc nettement plus simple à manipuler pour les calculs et les tris éventuels(comparaison, obtenir les dates chronologiques etc...).
https://www.w3schools.com/js/js_dates.asp
Merci de m'avoir répondu on supposant que j'opte pour le timestamp comment est ce qu'on converti l'array afin de pouvoir le convertir dans le timestamp? voici mon code:
est mon array:
array=["1:1:1","2:1:1",....]
let unix_timestamp = 1549312452 // Create a new JavaScript Date object based on the timestamp // multiplied by 1000 so that the argument is in milliseconds, not seconds. var date = new Date(unix_timestamp * 1000); // Hours part from the timestamp var hours = date.getHours(); // Minutes part from the timestamp var minutes = "0" + date.getMinutes(); // Seconds part from the timestamp var seconds = "0" + date.getSeconds(); // Will display time in 10:30:23 format var formattedTime = hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2); console.log(formattedTime);
est mon array:
array=["1:1:1","2:1:1",....]
C'est des milisecondes le timestamp depuis une date précise.
Il faut bien sûr prendre en compte que tu n'a qu'une heure et que l'objet Date est une date complète donc rajouter une "journée" arbitraire.
J'ai répondu un peu vite c'est plus simple si tu n'a qu'une heure sur 24 à gérer.
"Ce que je souhaite c'est d'obtenir un format dd:mm:ss même si l'heure est inférieur à 10 "
Donc rajouter un 0 devant si l'heure est inférieure à 10 et traiter l'ensemble en texte et non en nombre à partir de là.
Le tableau ne change rien sauf qu'il faut le faire pour chaque élément du tableau.
Bien sûr une fois en chaîne de caractère(string) faire des calculs et des comparaisons avec des chiffres n'est plus possible(ou plutôt pas très pratique il faudra convertir le texte en cahcune de ses valeurs par heure, minutes, secondes à chaque fois), donc il faut voir quelle est la finalité et utilisation de vos données.
Sinon tout convertir en millisecondes et rajouter une fonction pour afficher l'heure formatée pour l'afficher et garder la valeur numérique la plus pratique.
(1heure = 60minutes, 1minutes = 60secondes, 1seconde = 1000 ms)
Il faut bien sûr prendre en compte que tu n'a qu'une heure et que l'objet Date est une date complète donc rajouter une "journée" arbitraire.
J'ai répondu un peu vite c'est plus simple si tu n'a qu'une heure sur 24 à gérer.
"Ce que je souhaite c'est d'obtenir un format dd:mm:ss même si l'heure est inférieur à 10 "
Donc rajouter un 0 devant si l'heure est inférieure à 10 et traiter l'ensemble en texte et non en nombre à partir de là.
Le tableau ne change rien sauf qu'il faut le faire pour chaque élément du tableau.
Bien sûr une fois en chaîne de caractère(string) faire des calculs et des comparaisons avec des chiffres n'est plus possible(ou plutôt pas très pratique il faudra convertir le texte en cahcune de ses valeurs par heure, minutes, secondes à chaque fois), donc il faut voir quelle est la finalité et utilisation de vos données.
Sinon tout convertir en millisecondes et rajouter une fonction pour afficher l'heure formatée pour l'afficher et garder la valeur numérique la plus pratique.
(1heure = 60minutes, 1minutes = 60secondes, 1seconde = 1000 ms)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai déja éssaié avec ce methode
Avec ce tableau ca fonctionne très bien mais je suis toujours bloqué sur le façon de convertir si l'array est devenu des heures:
Par exemple si je met quelque chose du genre:
var stringArray = new Array("1:3:12", "2:5:4", "3:1:1", "1:1:5");
Alors je suis un peu perdu, pouvez vous m'illustrer cela avec un peu de ligne de code si possible. Encore merci.
var stringArray = new Array("1", "2", "3", "5"); for (var i = 0; i < stringArray.length ; i++) { var ix=parseInt(stringArray[i]); var test=[]; console.log(ix); if(stringArray[i]<10){ console.log("0"+ix); } }
Avec ce tableau ca fonctionne très bien mais je suis toujours bloqué sur le façon de convertir si l'array est devenu des heures:
Par exemple si je met quelque chose du genre:
var stringArray = new Array("1:3:12", "2:5:4", "3:1:1", "1:1:5");
Alors je suis un peu perdu, pouvez vous m'illustrer cela avec un peu de ligne de code si possible. Encore merci.