Conversion d’UNIX en Javascript HH-MM-SS

J’essaie de converger l’horodatage unix vers un temps lisible. J’ai essayé toutes les solutions que je peux trouver, aucune ne fonctionne encore. Je ne veux utiliser aucun module ou framework. J’apprécie une certaine aide à la conversion. ive les lire tous. Merci

var unix = Math.round(+new Date()/1000); console.log(unix) //works function secondstotime(unix) { var t = new Date(1970,0,1); t.setSeconds(unix); var s = t.toTimeSsortingng().substr(0,8); if(unix > 86399) s = Math.floor((t - Date.parse("1/1/70")) / 3600000) + s.substr(2); console.log(s); } secondstotime(); 

Dans angularjs, vous pouvez simplement utiliser le filtre de date pour convertir l’horodatage Unix (secondes). Il vous suffit de multiplier le timestamp Unix par 1000 pour le rendre en millisecondes. Voici le code

 

{{1469424998 * 1000 | date:'hh:mm:ss'}}

ou vous pouvez utiliser une bibliothèque externe comme mommentjs pour convertir l’horodatage Unix (secondes) en datetime comme celui-ci

  var day = moment.unix(1469424998); console.log(day.format("hh:mm:ss")); 

J’espère que cela aidera

Votre question n’est pas claire. Dans votre code actuel, il imprime la sortie suivante:

 1469424998 Invalid 

Il affiche Invalid car il manque un paramètre de la méthode secondstotime() . Si vous ajoutez des parameters à l’appel de la méthode secondstotime() , la sortie suivante sera imprimée:

DEMO

 var unix = Math.round(+new Date()/1000); console.log(unix) //works function secondstotime(unix) { var t = new Date(1970,0,1); t.setSeconds(unix); var s = t.toTimeSsortingng().substr(0,8); if(unix > 86399) s = Math.floor((t - Date.parse("1/1/70")) / 3600000) + s.substr(2); console.log(s); } secondstotime(unix); 

Sortie:

 1469424875 56408173:34:35 

Ce que vous voulez exactement n’est pas clair. Pouvez-vous nous montrer votre sortie attendue?