J'utilise moment.js et je veux calculer la différence entre deux horodatages, les formater ensuite et les afficher dans un div.
var diffTime = moment(1390310146.791877).diff( 1390309386.271075);
Cela me donne 760 secondes, mais je veux le formater comme ceci:
(jours, heures, minutes, secondes) et n'afficher les jours, heures et secondes que s'ils sont supérieurs à 0.
Comment puis-je y parvenir?
essaye ça
var diffTime = moment(moment(1390310146.791877).diff( 1390309386.271075)).format('H m s');
il affichera "5 30 0"
Modifier
voici le moyen simple de faire la différence. pour cela, l'heure doit être dans le même fuseau horaire.
var a = moment(1390310146.791877);
var b = moment(1390309386.271075);
a.diff(b)//To get the difference in milliseconds
a.diff(b,'seconds')//To get the difference in seconds
a.diff(b,'minutes')//To get the difference in minutes
a.zone()//Get the timezone offset in minutes
j'espère que cela t'aides.
moment.duration doit être utilisé
var diffTime = moment('2016-06-13T00:00:00+08:00')
.diff( '2016-06-13T00:00:00+00:00');
var duration = moment.duration(diffTime);
var years = duration.years(),
days = duration.days(),
hrs = duration.hours(),
mins = duration.minutes(),
secs = duration.seconds();
var div = document.createElement('div');
div.innerHTML = years + ' years ' + days + ' days ' + hrs + ' hrs ' + mins + ' mins ' + secs + ' sec';
document.body.appendChild(div);