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?