Comment puis-je convertir les secondes en HH:mm:ss
?
En ce moment, j'utilise la fonction ci-dessous
render: function (data){
return new Date(data*1000).toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1");;
}
Cela fonctionne sur Chrome, mais dans Firefox pendant 12 secondes, 01:00:12
je voudrais utiliser moment.js pour la compatibilité entre navigateurs
J'ai essayé mais ne fonctionne pas
render: function (data){
return moment(data).format('HH:mm:ss');
}
Qu'est-ce que je fais mal?
ÉDITER
J'ai réussi à trouver une solution sans moment.js qui est la suivante
return (new Date(data * 1000)).toUTCString().match(/(\d\d:\d\d:\d\d)/)[0];
Toujours curieux de savoir comment je peux le faire dans moment.js
Réponses:
À partir de cet article , j'essaierais ceci pour éviter les problèmes de saut
Je n'ai pas exécuté jsPerf, mais je pense que c'est plus rapide que de créer de nouveaux objets de date un million de fois
Afficher l'extrait de code
la source
`${pad(hours)}:${pad(minutes)}:${pad(secs)}`
Ceci est similaire à la réponse mplungjan référencée dans un autre article, mais plus concis:
Il souffre des mêmes mises en garde, par exemple si les secondes dépassent un jour (86400), vous n'obtiendrez pas ce que vous attendez.
source
Vous pouvez utiliser le plugin au format moment-durée :
Voir aussi ce violon
Mise à jour: pour éviter le découpage des valeurs inférieures à 60 secondes, utilisez
{ trim: false }
:source
la source
Comment utiliser correctement les durées moment.js? | Utilisez moment.duration () dans les codes
Tout d'abord, vous devez importer
moment
etmoment-duration-format
.Ensuite, utilisez la fonction de durée. Appliquons l'exemple ci-dessus: 28800 = 8 heures du matin.
🎉Eh bien, vous n'avez pas d'erreur de type ci-dessus. 🤔Avez-vous une bonne valeur à 8h00? Non…, la valeur que vous obtenez est 8:00 a. Le format Moment.js ne fonctionne pas comme il le devrait.
💡 La solution consiste à transformer les secondes en millisecondes et à utiliser l'heure UTC.
Très bien, nous obtenons 8h00 maintenant. Si vous voulez 8 heures du matin au lieu de 8 heures pour le temps intégral, nous devons faire RegExp
la source
Jusqu'à 24 heures. Tel que
Duration.format
déconseillé, avec [email protected]la source